我已经实现了一个计数器和第一个计数器的onFinish(),我启动了第二个计数器,但是第一个计数器无法完成。文本“ Bye Guyz”保留了一段时间,因此如何完成文本。
请帮我。
提前致谢。!!!
代码:-
counter= new CountDownTimer(10000, 1000) {
public void onTick(long millisUntilFinished) {
if (count == 0) {
tv.setText("First counter");
tv2.setVisibility(View.VISIBLE);
tv2.setText("Hello Guyz");
}
}
public void onFinish() {
if(!flag) {
tv2.setText("Bye Guyz");
count = 0;
try {
counter.cancel();
}catch (Exception e){}
}
else if(flag) {
counter1 = new CountDownTimer(9000, 1000) {
public void onTick(long millisUntilFinished) {
flag = false;
tv.setText("Second counter");
tv2.setVisibility(View.VISIBLE);
tv2.setText("Hello Girls");
count = 0;
}
public void onFinish() {
tv2.setVisibility(View.VISIBLE);
tv2.setText("Bye Girls");
count = 0;
}
}.start();
最佳答案
您是否“调试”了代码以确保代码到达counter1 = new CountDownTimer(9000, 1000)
?
您确定第一个counter
到达onFinish()
时flag
变量为true吗?
当计数器显然已经结束时,为什么在counter.cancel()
中调用onFinish()
?public void onFinish() { if(!flag) { tv2.setText("Bye Guyz"); count = 0; try { counter.cancel(); }catch (Exception e){}}