Android输入事件文档here似乎暗示在事件侦听器中返回false将导致事件继续发送到其他侦听器。例如
OnTouchListener touchListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// should continue on to other views
return false;
}
};
问题是如果我在同一个布局中有两个按钮并且我点击一个我希望事件继续到所有视图,因为我返回false,例如:
Button submitButton = (Button) findViewById(R.id.submit_button);
submitButton.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
System.out.println("--> submitButton");
return false;
}
});
Button clearButton = (Button) findViewById(R.id.clear_button);
clearButton.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
System.out.println("--> clearButton");
return false;
}
});
由于提交按钮的监听器返回false,我希望将点击结果发送到清除按钮,但输出始终为:
--> submitButton
--> submitButton
有人可以解释事件是如何在视图中传播的,因为我似乎误解了这篇文章吗?
答案 0 :(得分:1)