2012-05-01 153 views
0

我有3項活動(a,b和c)。在活動中,我有一個倒數計時器,在幾秒鐘的活動之後開始。在活動中,用戶可以開始活動C:活動未完成

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

與此代碼我要完成的countdowntimer活動,並啓動C。現在的問題是:當用戶啓動c時,c啓動,但倒計時沒有停止,並在完成時啓動活動b。爲什麼?我已經用倒數計時器來清理洞穴活動了。我不明白。我也試過onDestroy(),但它不起作用。 我Countdowntimer:

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

你是怎麼實現倒數計時器的?> – slayton

+0

是的,我已經實現了它。 – nameless

+2

您應該停止onStop()函數的活動a – whoabackoff

回答

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);  
    } 
} 

請記住,這是僞代碼,可能有錯誤/錯誤。它只是爲了說明技術而不是工作代碼。

+0

其他我得到我的倒計時器的名稱? – nameless

+0

我工作!非常感謝你 – nameless

0

當你開始a.this.startActivity(myIntent)新的活動; 'a'活動停止,並且finish()調用從不執行。您應該在開始'c'活動之前停止計時器。

0

重寫活動a的onPause()函數以停止計時器 - 可能通過檢查由任何按鈕或操作啓動活動c設置的布爾變量。