我想在按住按钮时不断增加变量的值。
我正在使用onClickListener,但只有在单击并释放按钮时才会增加一次。 如何确定按钮是否被按住?
我想要的是“while(ButtonIsBeingHold){count ++;}”
如果还有其他方法,请告诉我
答案 0 :(得分:1)
您可以尝试使用View.onTouchListener,而不是使用View.onClickListener:
public boolean onTouch(View v, MotionEvent event) {
}
这将针对不同类型的触摸事件触发,例如:
MotionEvent.TOUCH_UP和MotionEvent.TOUCH_DOWN。
你可以设置一个标志,用于按下按钮(TOUCH_DOWN)并开始增加你的计数器并在TOUCH_UP上停止。但是,我建议不要使用while(true)循环并尝试限制正在触发的递增事件。在这种情况下,我会使用一个处理程序并以恒定速率向它传递消息。您可以看到这样的处理程序如何用于在Android SDK附带的Snake示例项目中呈现和更新游戏:
http://developer.android.com/resources/samples/Snake/index.html