android系统
问题描述:
重置递减我想在一个循环,是5秒后,计数器开始从5到0 我曾尝试这个代码android系统
countDownTimer.cancel();
countDownTimer.start();
BT这不起作用重新计数运行递减。 textview中的值不会重置。下面发布是完整的代码。 关心!
private void timee() {
for (int j = 5; j > 0; j--) {
countDownTimer = new MalibuCountDownTimer(5000, 1000);
if (j == 4)
countDownTimer.start();
else {
countDownTimer.cancel();
countDownTimer.start();
}
}
}
// CountDownTimer class
public class MalibuCountDownTimer extends CountDownTimer {
public MalibuCountDownTimer(long startTime, long interval) {
super(startTime, interval);
}
@Override
public void onFinish() {
Toast.makeText(getApplicationContext(), "Done", Toast.LENGTH_SHORT).show();
// takeImage();
}
@Override
public void onTick(long millisUntilFinished) {
tt.setText("Time remain:" + millisUntilFinished/1000);
}
}
答
更换你timee()方法和CountDownTimer类下面的代码
private void timee(){
MalibuCountDownTimer countDownTimer=new MalibuCountDownTimer(5000, 1000);
countDownTimer.start();
}
public class MalibuCountDownTimer extends CountDownTimer {
public MalibuCountDownTimer(long startTime, long interval) {
super(startTime, interval);
}
@Override
public void onFinish() {
Toast.makeText(getApplicationContext(), "Done", Toast.LENGTH_SHORT).show();
j++;
if(j<=5)
start();
}
@Override
public void onTick(long millisUntilFinished) {
m_tv_emp.setText("Time remain:" + millisUntilFinished/1000);
}
}
注:取J所示类varieble
+0
非常感谢你,它非常完美。我没有足够的声望投票给这个答案。感谢您提供快速解决方案。 – user3485978
+0
你不能投票我的答案,但你能接受我的答案吗? –
你想要什么复位设置O和重新开始? –
将其设置为5,然后再次开始向下计数为0.就像它第一次运行一样。这就是我想要实现的循环中的每个递减量,即重置为5和递减计数为0. – user3485978