这应该很简单,但我似乎无法解决这个问题。
我想创建一个方法,它会在调用一段时间后返回一个布尔值false。
我试过,while和switch语句但没有一个具有预期的效果。
原因:我有一个触摸事件,它会更改布尔值以激活游戏状态。我希望在一段时间后将此值更改回false,以避免用户持有触摸事件以无限期地保持游戏状态。
我在游戏循环中尝试了以下方法,在一段时间后将值更改为false。这将在调用state activate方法的同时调用。
private void stateCounter() {
int count = 100;
for (int i =0; i < count ; i++) {
stateBoolean = true;
}
stateBoolean = false;
}
private void stateCounter() {
int count = 1;
while (count < 100) {
stateBoolean = true;
count++;
}
stateBoolean = false;
}
这样做的最佳方式是什么?
答案 0 :(得分:0)
使用Handler.PostDelayed方法在间隔后执行某些任务。例如
Handler h = new Handler();
h.postDelayed(new Runnable(){
public void run(){
// perform your tasks here
}
},interval);
但有一点我不清楚。你想在触摸完成时改变计数器(i,手指向上)。在这种情况下,您可以使用此
yourButton.setOnTouchListener(new OnTouchListener () {
public boolean onTouch(View view, MotionEvent event) {
else if (event.getAction() == android.view.MotionEvent.ACTION_UP) {
// call the method now
}
}
}