Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 循环以在时间之后将布尔值更改为false?_Java_Loops_Logic - Fatal编程技术网

Java 循环以在时间之后将布尔值更改为false?

Java 循环以在时间之后将布尔值更改为false?,java,loops,logic,Java,Loops,Logic,这应该很简单,但我似乎无法解决 我想创建一个方法,在调用一段时间后返回一个布尔值false 我尝试了、while和switch语句,但都没有达到预期效果 原因:我有一个触控事件,它改变一个布尔值来激活游戏状态。我希望这个值在一段时间后变回false,以避免用户持有touch事件以无限期保持游戏状态 我在我的游戏循环中尝试了以下方法,在一段时间后将值改回false。这将在调用state activate方法的同时调用 private void stateCounter() { int c

这应该很简单,但我似乎无法解决

我想创建一个方法,在调用一段时间后返回一个布尔值false

我尝试了、while和switch语句,但都没有达到预期效果

原因:我有一个触控事件,它改变一个布尔值来激活游戏状态。我希望这个值在一段时间后变回false,以避免用户持有touch事件以无限期保持游戏状态

我在我的游戏循环中尝试了以下方法,在一段时间后将值改回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;

}
private void stateCounter(){
整数计数=100;
for(int i=0;i
执行此操作的最佳方法是什么?

使用方法在间隔后执行某些任务。比如说

Handler h = new Handler();
h.postDelayed(new Runnable(){
    public void run(){
        // perform your tasks here
    }
},interval);
但有一件事我不清楚。当触摸完成(即手指向上)时,是否要更改计数器。那样的话,你可以用这个

yourButton.setOnTouchListener(new OnTouchListener () {
  public boolean onTouch(View view, MotionEvent event) {
    else if (event.getAction() == android.view.MotionEvent.ACTION_UP) {
      // call the method now
    }
  }
}

提供您尝试过的代码。澄清您需要什么,最好告诉我们您为什么要延迟读取变量。。如果你在一个异步系统中编程,你想延迟读取一个变量,因为你在等待什么,那么我认为你应该在读取itI之前,与影响该布尔变量的过程同步。我添加了更好的描述和一些循环的想法,我必须让它工作,我希望这能澄清一点。你应该用一个真正的计时器。您的循环将在很短的时间内执行这100个增量,您不会注意到更改。正如Maroun所说,您应该使用real timer。这并不是因为100个增量将在短时间内执行(您可以执行10000或1000000),而是它将根据处理器负载和设备提供不同的延迟。真正的计时器是这样独立的。