[英]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.