在我的應用程序中,我有一個活動,其中有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
,而其餘按鈕則不會。
我在網絡和計算器上搜索,我碰到類似MotionEvent.ACTION_MOVE
,但我不知道如何使用它,我不知道它是否適用於這種情況。
請幫我解決這個問題!感謝您的時間。
作爲一個側面說明,他們都不應該說'返回true;' – Doomsknight
@Doomsknight我沒有在android開發經驗。你能解釋一下它會有什麼不同嗎? –
觸摸監聽器應該返回true或false,具體取決於它們是否「消耗」事件。他們做什麼。儘管說實話,我認爲這沒什麼區別。 – Doomsknight