活动没有完成

时间:2012-05-01 14:20:49

标签: android android-activity countdowntimer

我有3项活动(a,b和c)。在活动中,我有一个倒计时器,它在几秒钟后开始活动b。在活动中,用户可以启动活动c:

Intent myIntent = new Intent(a.this, c.class);
a.this.startActivity(myIntent);
finish();

使用此代码我想完成countdowntimer活动a并启动c。现在的问题是:当用户启动c时,c开始但倒计时没有停止,并在完成后启动活动b。为什么?我用钻孔计算器来完成洞穴活动。我不明白。我也试过onDestroy(),但它不起作用。 我的倒计时器:

new CountDownTimer(7000, 1000) {
  public void onTick(long millisUntilFinished) { }
  public void onFinish() { }
}.start();

3 个答案:

答案 0 :(得分:2)

public class a extends Activity {
   CountDownTimer timer;

   public void onCreate(Bundle bundle)
   {
     // ..
     timer = new CountDownTimer(7000, 1000) {
       public void onTick(long millisUntilFinished) { }

       public void onFinish() {
        Intent myIntent = new Intent(a.this, b.class);
        a.this.startActivity(myIntent);           
       }
     }.start();
   }

   public void startActivityC()
   {
      timer.cancel();
      Intent myIntent = new Intent(a.this, c.class);
      a.this.startActivity(myIntent);      
   }   
}

请记住,这是伪代码,可能存在错误/错误。它只是为了说明技术而不是工作代码。

答案 1 :(得分:0)

使用a.this.startActivity(myIntent)开始新活动时; 'a'活动停止,并且从不执​​行finish()调用。你应该在开始'c'活动之前停止计时器。

答案 2 :(得分:0)

覆盖活动a的onPause()函数以停止计时器 - 可能通过检查由任何按钮或动作设置的布尔变量来启动活动c。