所以我有两个倒计时器,我希望一个嵌套在另一个的 onFinish 中。我不想使用可运行程序,因为我觉得这对我的应用程序不利,因为它很难取消。这在执行中看起来相当简单,但我不断收到错误。
final CountDownTimer TheTimer;
final CountDownTimer FinalTimer;
TheTimer = new CountDownTimer((cdTime), 1000) {
public void onTick(long millisUntilFinished) {
button.setText(String.valueOf(millisUntilFinished));
if(millisUntilFinished <= 10000){
button.setVisibility(View.GONE);
}
}
public void onFinish() {
FinalTimer = new CountDownTimer(10000, 1000) {
@Override
public void onTick(long l) {
}
@Override
public void onFinish() {
}
}.start();
}
}.start();
错误:无法为最终变量赋值。
然而,Ide 告诉我将其定为最终版本
最佳答案
试试这个代码:
final CountDownTimer finalTimer = new CountDownTimer(1000, 1000){
public void onTick(long l){
//do Stuff
}
public void onFinish(){
//doStuff
}
};
final CountDownTimer theTimer = new CountDownTimer((cdTime), 1000){
public void onTick(long millisUntilFinished){
button.setText(String.valueOf(millisUntilFinished));
if(millisUntilFinished <= 10000){
button.setVisibility(View.GONE);
}
}
public void onFinish(){
finalTimer.start();
}
}.start();
尝试尽早设置最终变量以确保它们正确启动。对于 future 的问题:请尽量保持代码格式正确,并提供有关您遇到的问题的足够信息,例如错误代码等。
关于java - 如何将一个倒计时器嵌套在另一个倒计时器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49600021/