有人知道为什么我的日志显示onTouch(View,MotionEvent)没有被调用。我可以看到正在调用onTouchEvent(MotionEvent事件)。两者都在实现View.OnTouchEvent的Activity中被覆盖。
发布于 2012-02-17 14:42:09
AFAIK,Activity没有定义onTouch(..),但它定义了onTouchEvent(..)。所以你是在覆盖后者,而仅仅是定义前者。
此外,onTouchEvent(..)是最后的触摸处理程序-只有当视图不处理它时才会调用它:
onTouchEvent(MotionEvent event)
Called when a touch screen event was not handled by any of the views under it.发布于 2012-08-23 12:57:06
当触摸View时调用onTouch(),但当触摸Activity (屏幕)时调用onTouchEvent()。
当onTouch()的返回值为true时,触摸事件将被onTouch()占用,否则事件将被下发到onTouchEvent()。
希望它对你有用。
发布于 2012-02-17 14:46:03
可以在android.some中使用onTouch,就像这样在您需要覆盖activity.no时使用
ed.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "hai", Toast.LENGTH_LONG).show();
return false;
}
});https://stackoverflow.com/questions/9323873
复制相似问题