我正在尝试在我的活动中显示countDownTimer。我在countDowntimer中使用的值来自另一个使用bundle的活动的回收者视图。当我第一次点击其中一个recyclerview时间时,countDownTimer显示完美运行的时间。但是当我选择另一个时间时,旧实例继续运行。我已经实现了取消和onFinish()方法,但它们没有按我的意愿工作。我到处搜索,但每个人都建议取消和onFinish()方法。我现在无法找到解决方案。
public void getData() {
if(countDownTimer!=null){
countDownTimer.cancel();
}
if (replaceTime != null) {
time = Integer.parseInt(replaceTime);
} else
Toast.makeText(FullTimerActivity.this, "",
Toast.LENGTH_LONG).show();
totalTimeCountInMilliseconds = time;
timeBlinkInMilliseconds = 30 * 1000;
countDownTimer = new CountDownTimer(totalTimeCountInMilliseconds, 500) {
@Override
public void onTick(long leftTimeInMilliseconds) {
long seconds = leftTimeInMilliseconds / 1000;
if (leftTimeInMilliseconds < timeBlinkInMilliseconds) {
if (blink) {
// mTextField.setVisibility(View.VISIBLE);
// if blink is true, textview will be visible
} else {
// mTextField.setVisibility(View.INVISIBLE);
}
blink = !blink;
}
String a = String.format("%02d", seconds / 60) + ":" + String.format("%02d", seconds % 60);
textView.setText(a);
}
@Override
public void onFinish() {
Toast.makeText(FullTimerActivity.this, "Finished", Toast.LENGTH_SHORT).show();
}
}.start();
}
提前谢谢。
答案 0 :(得分:0)
在onFinish()中还将文本设置为TextView,如下所示
textView.setText("0");