java在按下按钮时显示一条消息,在松开按钮时显示另一条消息。安卓
我只是想编写一个简单的代码,当按下按钮时显示一条消息,当松开按钮时显示另一条消息。 我试过这个,但没用:
btnOn.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
mmHandler.postDelayed(mAction1, 10);
break;
case MotionEvent.ACTION_UP:
mmHandler.removeCallbacksAndMessages(null);
mmHandler.postDelayed(mAction1, 10);
txtdebug.setText("Message 2");
break;
}
return true;
}
Runnable mAction1 = new Runnable() {
@Override
public void run() {
txtdebug.setText("Message 1");
//mHandler.postDelayed(this, 100);
}
};
知道removeCallbacksAndMessages为什么不起作用吗。例如,当我释放时,它会显示Message 2
,但随后它会再次出现message 1
。它并没有一直这样
# 1 楼答案
我不知道我是否理解正确,但如果你想在按下按钮时每隔
X
毫秒执行一次函数,然后当用户释放按钮停止时,你可以这样做(你非常接近这个解决方案,但在UP
事件中再次运行Hendler):