在我的应用程序中,我有一个 Activity,其中有 9 个按钮和 1 个按钮textView
。我正在利用OnTouchListener
更改中的文本textView
当我在按钮上移动手指时。
This is what my activity looks like:
这是我的java code:
button1.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 1");
return false;
}
});
button2.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 2");
return false;
}
});
button3.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 3");
return false;
}
});
button4.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 4");
return false;
}
});
button5.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 5");
return false;
}
});
button6.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 6");
return false;
}
});
button7.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 7");
return false;
}
});
button8.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 8");
return false;
}
});
button9.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textView.setText("Button 9");
return false;
}
});
但这段代码的问题是它只能得到OnTouchListener
我触摸的第一个按钮。简单来说,当我移动手指时,我首先触摸的按钮会改变textView
而其余按钮则不然。
我也在网上和 stackoverflow 上搜索,发现了类似的东西MotionEvent.ACTION_MOVE
但我不知道如何使用它,也不确定它是否适用于这种情况。
请帮我解决这个问题!感谢您的时间。
这在 Android 中不起作用。如果底层 View 没有通过返回 true 来消耗第一个事件 (ACTION_DOWN),则在其外部发生的任何其他事件将仅由父 View 处理。如果它消耗事件 - ACTION_UP 之前的所有事件及其本身都将传递到此视图。
如果你想实现这样的行为,你需要处理单个View中的所有事件,或者重写父View的dispatchTouchEvent方法来定义你自己的行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)