gpt4 book ai didi

java - postDelayed 处理程序不会停止

转载 作者:行者123 更新时间:2023-11-30 11:25:57 28 4
gpt4 key购买 nike

我需要的是当 competition.isTimerStarted 变成 false 这个 runnable 应该启动 buttonsProcedure() 一次然后自己停止但这并没有发生 - buttonsProcedure() 被永远调用并且 runnable 不会停止。

 timerRun=new Runnable()
{
@Override
public void run() {

timerTVmainmenue.setText(competition.getTimerTime());
if (!competition.isTimerStarted) {thandler.removeCallbacks(timerRun);Log.d("MyLog","timerrun is blame for infinite butproc");buttonsProcedure();}
thandler.postDelayed(timerRun, 243); //looping this for every 243 ms
}
};

如何正确停止它?

最佳答案

        timerRun=new Runnable()
{
@Override
public void run() {

timerTVmainmenue.setText(competition.getTimerTime());
if (!competition.isTimerStarted){
thandler.removeCallbacks(this);
Log.d("MyLog","timerrun is blame for infinite butproc");
buttonsProcedure();
return;
}
thandler.postDelayed(this, 243); //looping this for every 243 ms
}
};

你必须在 if 条件中添加 return 或使用 if-else 结构

关于java - postDelayed 处理程序不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20066388/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com