有谁知道为什么我的日志表明onTouch(View,MotionEvent)没有被调用。我可以看到正在调用onTouchEvent(MotionEvent事件)。两者都在Activity中重写,它实现了View.OnTouchEvent。
答案 0 :(得分:4)
onTouch()
时会调用 View
,但触摸onTouchEvent()
(屏幕)时会调用Activity
。
当onTouch()
的返回值为true时,触摸事件将由onTouch()
生成,否则,该事件将被传递到onTouchEvent()
。
希望它对你有用。
答案 1 :(得分:2)
AFAIK,活动未定义onTouch(..)
,但确实定义了onTouchEvent(..)
。所以你要压倒后者,而只是定义前者。
此外,onTouchEvent(..)
是最后的手段处理程序 - 只有在视图无法处理时才会调用它:
onTouchEvent(MotionEvent event)
Called when a touch screen event was not handled by any of the views under it.
答案 2 :(得分:0)
onTouch可以在android.some中使用,比如在ur activity中使用。不需要覆盖
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;
}
});