0

Android用のクイズアプリを作っています。

ユーザーは 30 秒間で、できるだけ多くの質問に答えることができます。

ユーザーが問題を正しく理解したかどうかを確認できるように、問題の間に実行時間の小さなギャップを作成します。

new Handler().postDelayed(new Runnable() {  
   public void run()  { displayNextQuestion(); }
    } , 1000);

30 秒が経過すると、ユーザーは結果画面にリダイレクトされるはずです。ただし、その待機時間中に 30 秒が経過すると、ユーザーは一瞬結果画面に移動し、次の質問にリダイレクトされるだけです。30 秒が経過したら、その待機時間を無効にするにはどうすればよいですか?

簡単な答えになるはずですが、スレッド/実行の操作方法がわかりません。

ありがとう

4

2 に答える 2

1

ブール値を使用して結果を表示するかどうかを確認し、次のようにします if(!resultsDisplayed){ displayNextQuestion(); }

于 2011-10-03T23:30:47.977 に答える
1

ランナブルとハンドラーをインスタンス変数に保存し、呼び出しmyHandler.removeCallbacks(myRunnable)て保留中のアクションを破棄できます。

于 2011-10-03T23:37:42.033 に答える