В моем приложении у меня есть активность, в которой есть 9 кнопок и 1 textView
. Я использую OnTouchListener
, чтобы изменить текст в textView
, когда я двигаю пальцем по кнопкам.Изменить textView при перемещении пальца по кнопкам
Это то, что моя деятельность выглядит следующим образом:
Вот мой Java код:
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
, но я не знаю, как его использовать, и я не уверен, применим ли он в этом случае.
Пожалуйста, помогите мне решить эту проблему! Спасибо за ваше время.
в качестве примечания стороны, должны ли они все не сказать 'return true;' – Doomsknight
@Doomsknight Я не испытываю развития android. Не могли бы вы объяснить, какая разница? –
Предполагается, что прослушиватели на прикосновении возвратят true или false, в зависимости от того, «они» уничтожают событие. Что они делают. Я не думаю, что это имеет какое-то значение, если честно. – Doomsknight