我在我的活动中调用此函数:
@Override
public boolean dispatchTouchEvent(MotionEvent touchEvent)
这允许我在任何组件聚焦之前处理动作,甚至拒绝将焦点放在这些元素上。
问题:我想知道我怎么知道在这个函数中触及了什么组件(View),然后我可以选择是否要完成该事件。
UGLY SOLUTION :我现在有一个丑陋的解决方案是:我知道允许该事件的组件的位置,并且我做了大量的条件来大致决定是否用户点击了这个组件。
感谢。
答案 0 :(得分:0)
您可能想要使用OnTouchListener
private OnTouchListener mOnTouchListener= new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch(v.getId()){
case R.id.id1):
// Do stuff
break;
case R.id.id2:
// Do stuff
break;
}
return false/true;
}
};
答案 1 :(得分:0)
view.getid == R.id。//布局中的id //可以检查条件是否点击了所需的视图