簡體   English   中英

倒數計時器結束時結束活動並調用另一個活動

[英]Ending an activity and calling another when countdown timer ends

我正在制作一個考試應用程序,用戶可以在其中嘗試來自所選學科領域的問題。 例如,假設有 20 個問題要由用戶回答。 就像現在一樣,當我開始向用戶展示問題和可供選擇的選項集的活動時,倒計時開始。 我現在想要做的是,如果用戶在時間結束之前未能回答所有 20 個問題,這應該會自動觸發另一個活動,計算用戶的考試分數並顯示結果。 實現這一點的最佳方法是什么? 我希望能夠在時間一到就禁止用戶繼續考試。 請任何幫助將不勝感激。

看看 CountDownTimer ( http://developer.android.com/reference/android/os/CountDownTimer.html ) 你可以用它做這樣的事情:

 new CountDownTimer(30000, 1000) {

     public void onTick(long millisUntilFinished) {

     }

     public void onFinish() {
         // start another activity here!
     }
  }.start();

嘗試使用 Timer()

您可以在計時器結束時開始新活動。 您以毫秒為單位進行設置。 為了開始新的活動,你應該在 UI 線程上運行。

timer = new Timer();
timer.schedule(new TimerTask() { 
public void run() {
 yourActivity.this.runOnUiThread(new Runnable()
   public void run(){
   }        
 }
}, 1000);

如果您要問的是計時器結束后要做什么而不是如何實現計時器,那么您可以像這樣開始新的活動

if(timer <= 0)
{
    Intent intent = new Intent(context, YourNewActivity.class);
    startActivity(intent);  
    finish();
}

您還可以通過傳遞上下文,在當前活動的任何方法中執行此操作。

public void myMethod(Context mContext)
{
     if(timer <= 0)
     {
         Intent intent = new Intent(mContext, YourNewActivity.class);
         mContext.startActivity(intent);
         ((Activity)mContext).finish();
     }
}

不要忘記完成()活動,否則用戶可能只需按下后退按鈕並重新開始問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM