实际上我正在尝试将ontouchlistener实现到我的android(1.5)应用程序中。 因此我在课堂上实现了“ontouchlistener”,然后我将我的代码放入:
public boolean onTouchEvent (MotionEvent e){
//code
}
问题是,如果我拖动(例如)Spinner或EditTextView,则不会调用此方法。我想出解决这个问题的唯一方法是手动为每个视图添加一个ontouchlistener:
((Spinner)(findViewById(R.id.spinner1))).setOnTouchListener(tl);
((Spinner)(findViewById(R.id.spinner2))).setOnTouchListener(tl);
(tl是ontouchlistener) 那么有没有办法在触摸事件到达每个视图之前捕获它? 提前谢谢
Ripei
答案 0 :(得分:0)
你到底想做什么 - 你想要:
Activity
。 View
如果你想要前者:
看看这个例子: Fling gesture detection on grid layout
基本上,您将所有已注册的触摸事件重定向到GestureDetector
。
它了解用户输入的确切内容(单击,双击,滚动等)并在SimpleOnGestureListener
中调用相应的回调,您应该实现。
如果你想要后者:
你可以:
onTouchEvent()
。onTouchListener
(如果您想在发送之前获得联系)。 如果您要实施onTouchListener
,那么您的工作不是onTouchEvent()
方法,而是接口的onTouch()
方法。
希望有所帮助。