CountDownTimer Android停止当前活动并转到下一个活动

时间:2014-09-17 07:50:17

标签: android countdowntimer

我想在我的活动中添加一些倒数计时器,例如将有一分钟计时器,并且在此期间要求用户记住某些图片。一分钟过后(来自该活动),弹出消息将显示用户必须转到下一个屏幕。有没有人可以帮助我?谢谢

4 个答案:

答案 0 :(得分:2)

使用计时器方法如下,

Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
//run your code here
}
},0,60*1000);
// here 60 seconds * 1000 milliseconds
// finally don't forget to cancel the timer
timer.cancel();

它使您的代码运行1分钟然后移动到下一个块有其他可用方法检查Android文档

或者您可以使用以下代码

long start = System.currentTimeMillis();
long end = start + 60 * 1000;

while (System.currentTimeMillis() < end) {
// do your stuff here
}

答案 1 :(得分:2)

这是exmaple

像这样创建下面给出的类的对象

final CounterClass timer = new CounterClass(180000,1000); // 1800000 and 1000 are in milli seconds 

这里180000等于3分钟

180000/1000 = 180秒,180/60 = 3分钟

CounterClass(180000,1000);中的1000表示下一个刻度之间的间隔

并且1分钟使用60000而不是1800000

启动计时器

  timer.start();

结束计时器

  timer.cancel(); 

这是计数器类

 public class CounterClass extends CountDownTimer {  
      public CounterClass(long millisInFuture, long countDownInterval) {  
           super(millisInFuture, countDownInterval);  
      }  
      @Override  // when timer is finished
     public void onFinish() {  
       System.out.println("Completed.");  

       // here start the new activity
     }  
      @Override  // on every tick of the timer
      public void onTick(long millisUntilFinished) {  
            long millis = millisUntilFinished;  
             String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),  
                 TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),  
                 TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));  
             System.out.println(hms);  

      }  
 }  

}

答案 2 :(得分:1)

试试这段代码:

new CountDownTimer(30000, 1000) {

 public void onTick(long millisUntilFinished) {

 }

 public void onFinish() {



new AlertDialog.Builder(this)
    .setTitle("Navigate")
    .setMessage("Next Activity?")
    .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) { 
            // continue with delete

// start intent to next activity
        }
     })
    .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) { 
            // do nothing
        }
     })
    .setIcon(android.R.drawable.ic_dialog_alert)
     .show();


 }  
}.start(); 

答案 3 :(得分:1)

尝试计时器线程并处理线程,

final Handler h = new Handler();
        final Runnable animateViewPager = new Runnable()
        {
            public void run() 
            {
                imageview.setBAckgroundresource(imageView[postion));
            }
        };

        Timer swipeTimer = new Timer();
        swipeTimer.schedule(new TimerTask() {

            @Override
            public void run() {
                h.post(animateViewPager);
            }
        },1000,60*1000);