2012-03-09 88 views
0

当按钮被按下时,我想不断增加变量的值。读取按钮是否被锁定

我使用的onClickListener,但它只增加一次,当按钮被点击并释放。 如何判断按钮是否被按住?

我要的是一样的东西“而(ButtonIsBeingHold){计数++;}”

如果有任何其他的方法,请咨询我关于它

回答

1

而不是使用View.onClickListener的,你可以尝试使用View.onTouchListener:

public boolean onTouch(View v, MotionEvent event) { 

} 

这将被解雇了不同类型的触摸事件,如:

MotionEvent.TOUCH_UP和明珠onEvent.TOUCH_DOWN。

您可以为按下按钮(TOUCH_DOWN)时设置一个标志并开始增加计数器并在TOUCH_UP上停止。但是,我会建议不要使用while(true)循环,并尝试限制正在触发的递增事件。在这种情况下,我会使用一个处理程序并以恒定的速率将消息传递给它。你可以看到像这样的处理程序是用于渲染和自带的Android SDK中的蛇示例项目更新游戏:

http://developer.android.com/resources/samples/Snake/index.html

+0

看起来不错,谢谢! – 2012-03-09 02:56:31