2012-03-09 84 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