如何防止循环活动?我认为runOnUIThread可能是罪魁祸首

时间:2014-08-12 02:40:20

标签: android loops android-activity

当我运行它时,我的程序中似乎存在一个主要的循环错误(在我的三星Galaxy Tab 3中调试)

3带有onClickListener的ImageButton最终调用countDown()方法

显然当我按下两个ImageButtons(使用onClickListener)或双击同一个按钮才变为imageButton.setVisibility(View.INVISIBLE)时,startActivity(Intent)继续进行狂野循环追逐!我不想尝试对它进行试错调试,因为我的平板电脑(出于某种原因)失去了通过USB连接的能力,我不得不将其恢复出厂以便能够恢复USB连接(这非常麻烦)。

我有3种方法可能导致这种情况:

public int setInterval()返回--interval(全局int变量)

public void countDown(int interval)包含带有

的Timer类
timer.scheduleAtFixedRate(new TimerTask(){
    public void run(){
         runOnUiThread(new Runnable() {  // Need to show TextView changes
              public void run(){
                 TextView.setText(setInterval() + 1); //changes text as if count down
                         // the .setText(setInterval); suddenly decrement too fast
                 if(win){
                     //Do something
                 }
                 else{
                     //Do something and also...
                     goToResult(); // I believe this is looping
                 }
              }
         }
    }
}); }}, delay, period);

public void goToResult(),它还包含一个Timer类(相同的对象名,全局)

timer.scheduleAtFixedRate(new TimerTask(){
    public void run(){
         setInterval();

         if(interval < 0){
             // Do startActivity(Intent); HERE
         }

    }, delay, period);

0 个答案:

没有答案