gpt4 book ai didi

Android:即使调用了 cancel(),也会调用 CountDownTimer 的 finish()

转载 作者:太空宇宙 更新时间:2023-11-03 13:01:21 25 4
gpt4 key购买 nike

我用过这样的倒数计时器

new CountDownTimer(15000, 15) {

public void onTick(long millisUntilFinished) {

long seconds=millisUntilFinished/1000;
long min=millisUntilFinished%100;

timeleft=(int) (seconds*1000+min);
if(millisUntilFinished>=10000)
{
changeText.setTextColor(Color.GREEN);
}
else if(millisUntilFinished>=5000)
{
changeText.setTextColor(Color.MAGENTA);
}
else
{
changeText.setTextColor(Color.RED);

}
changeText.setText(String.format("%02d", seconds )+ "."+String.format("%02d", min )+" sec");

}

public void onFinish() {

timeleft=0;
missed++;
nametext.setTextColor(Color.RED);
nametext.setText("Time Up!");
bottombutton.setVisibility(View.INVISIBLE);
globalflag=13;
changeText.setTextColor(Color.RED);
changeText.setText("0.00 Sec");
Handler myHandler = new Handler();
myHandler.postDelayed(mMyRunnablecif, 3000);



}
}.start();

在单击按钮时,我调用了 cancel(),但它停止了一段时间的计数,然后调用了 onFinish()。我不需要在调用 cancel() 之后调用 onFinish()。有什么解决办法吗?任何帮助将不胜感激。

最佳答案

在您的 onClick 中将 bool 值(例如 buttonPressed)设置为 true。

在您的 onFinish 中检查这个 bool 值:

if (buttonPressed == true)
{
//do nothing
}
else
{
//run code
}

关于Android:即使调用了 cancel(),也会调用 CountDownTimer 的 finish(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10927112/

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