我注册了一个相对布局的监听器,见下文。我想添加一些自定义事件处理,
mOnTouchListener = new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
final int action = motionEvent.getAction();
boolean ret = false;
switch (action) {
case MotionEvent.ACTION_DOWN:
ret = doSth(motionEvent);
break;
case MotionEvent.ACTION_MOVE:
ret = doSth(motionEvent);
break;
case MotionEvent.ACTION_UP:
ret = doSth(motionEvent);
break;
}
return ret; // returning false got me none of MOVE/UP events right here
}
};
但是,除非返回 true,否则我无法获得任何 MOVE/UP 事件。
另一次尝试,我向 CheckBox 注册了相同的侦听器,一切都很顺利。
ViewGroup 和 Widget 有区别吗?设计目的?
“但是,除非返回 true,否则我无法获得任何 MOVE/UP 事件。”
你已经回答了你自己的问题。如果你不回来true
表明您关心并正在处理该事件,系统不会向您发送后续事件,因为您已经告诉系统您不关心它。如果需要监听触摸事件的整个生命周期,则需要返回true
always.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)