Android touchlisteners和TextView
实际上,我正试图在我的android(1.5)应用程序中实现一个ontouchlistener。 因此,我在类中实现了“ontouchlistener”,然后将代码放入:Android touchlisteners和TextView,android,view,ontouchlistener,Android,View,Ontouchlistener,实际上,我正试图在我的android(1.5)应用程序中实现一个ontouchlistener。 因此,我在类中实现了“ontouchlistener”,然后将代码放入: public boolean onTouchEvent (MotionEvent e){ //code } 问题是,如果在(例如)微调器或EditTextView上拖动,则不会调用此方法。解决此问题的唯一方法是手动向每个视图添加ontouchlistener: ((Spinner)(findViewById(R.id.sp
public boolean onTouchEvent (MotionEvent e){
//code
}
问题是,如果在(例如)微调器或EditTextView上拖动,则不会调用此方法。解决此问题的唯一方法是手动向每个视图添加ontouchlistener:
((Spinner)(findViewById(R.id.spinner1))).setOnTouchListener(tl);
((Spinner)(findViewById(R.id.spinner2))).setOnTouchListener(tl);
(tl是侦听器)
那么,在触摸事件到达每个视图之前,难道没有办法捕捉到它吗?
提前谢谢
Ripei你到底想做什么-你想:
- 在某些情况下检测整个手势
活动
- 仅检测给定时间的触摸
查看
手势检测器
。
它了解用户输入的确切内容(单点、双点、滚动等),并在SimpleOnGestureListener
中调用相应的回调,您应该实现该回调
如果您想要后者:
您可以:
onTouchEvent()
挂接到TouchListener
(如果您想在发送到它之前获得触摸)李>
如果要实现onTouchListener
,您将不在onTouchEvent()
方法中工作,而是在接口的onTouch()
方法中工作
希望能有所帮助。是的,我想知道你提到的第一点。但我正在寻找一种方法来解决这个问题,而不必为我添加到活动的每个视图添加一个gesturelistener/onclicklistener。但这似乎是不可能的。不,实际上我提到的第一种方法正是你想要的——看看链接中的例子。基本上,您可以将所有触摸从
活动
重定向到手势检测器
。这意味着所有未在视图中进行内部处理的触摸都会被捕获和扫描,以便您知道用户是否双击或滚动。SimpleGestureListener
已注册到负责整个活动的GestureDetector
。您不会为每个视图添加侦听器。