我正在制作一个考试应用程序,用户可以从所选的主题领域尝试提问。例如,假设用户有20个问题需要回答。就像现在一样,当我开始向用户提供问题和选项集的活动时,倒数计时器启动。我现在要做的是,如果用户在时间结束之前未能回答所有20个问题,则应该自动触发另一个计算用户考试分数并显示结果的活动。实现这个的最佳方法是什么?我希望能够禁止用户在时间结束后继续参加考试。如有任何帮助,将不胜感激。
答案 0 :(得分:1)
看看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();
答案 1 :(得分:0)
尝试使用Timer()
您可以在计时器结束时开始新活动。您以毫秒为单位进行设置。 为了开始新活动,您应该在UI线程上运行。
timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
yourActivity.this.runOnUiThread(new Runnable()
public void run(){
}
}
}, 1000);
答案 2 :(得分:0)
如果您的询问是在计时器启动后该怎么做而不是如何实现计时器,那么您可以开始一个新的行为,如此
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();
}
}
别忘了完成()其他活动,用户可以只按下后退按钮并重新启动问题。