我正在尝试显示一个倒计时计时器onPreExecute并在onPostExecute.I上结束计时器。我有下面的代码,它工作得很好onPreExecute,但我找不到任何方法来关闭这个计时器在onPostExecute.Below上是我的计时器代码
new CountDownTimer(240000, 1000) { // adjust the milli seconds here
public void onTick(long millisUntilFinished) {
String time=""+String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes( millisUntilFinished),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)));
Toast.makeText(context, time, Toast.LENGTH_SHORT).show();
}
public void onFinish() {
Intent i=new Intent(context,MainActivity.class);
context.startActivity(i);
Toast.makeText(context, "oops! Pls check your net connection", Toast.LENGTH_SHORT).show();
}
}.start();发布于 2020-01-17 17:31:38
创建定时器的全局变量
CountDownTimer mTimer = null;在PreExecute()写入时
@Override
protected void onPreExecute()
{
mTimer = new CountDownTimer(240000, 1000) { // adjust the milli seconds here
public void onTick(long millisUntilFinished) {
String time=""+String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes( millisUntilFinished),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)));
Toast.makeText(context, time, Toast.LENGTH_SHORT).show();
}
public void onFinish() {
Intent i=new Intent(context,MainActivity.class);
context.startActivity(i);
Toast.makeText(context, "oops! Pls check your net connection", Toast.LENGTH_SHORT).show();
}
}.start();
}现在开始postExecute()编写
@Override
protected void onPostExecute()
{
mTimer.cancel();
}https://stackoverflow.com/questions/59784438
复制相似问题