1

さまざまなアクティビティ間のナビゲーションに関連する質問があり、onPause と onRestore で問題が解決する可能性がありますが、その方法はわかりません。

問題は、アプリケーションに次の画面があることです

  1. HomeActivity - これはようこそ画面です
  2. CategoryActivity - ここには、動物、植物、果物などの 3 つのカテゴリがあります。
  3. QuestionsActivity - ここでは、カテゴリの選択に応じて各質問を利用できます。各カテゴリには 50 の質問があります。アプリケーションには、複数選択タイプの質問があります。

アプリケーションの流れは、ユーザーが来てカテゴリを選択したときです。そのカテゴリの xml から 50 個の質問の配列リストを作成し、それらの質問を QuestionActivity 画面に 1 つずつ表示します。ここでは、ユーザーがカテゴリをクリックするたびに、配列リストをシャッフルしてカウントを表示します。つまり、1 つの質問を終了した場合、2 つの質問を終了した場合などです。

だから、これは私のアプリケーションと今の問題に関するものです:

ユーザーが QuestionActivty にいて、5 つの質問に答えた後、モバイルの戻るボタンをクリックすると、CategoryActivity 画面にリダイレクトされるとします。ここから、同じカテゴリをもう一度クリックすると、QuestionActivity 画面にリダイレクトされますが、質問は 1 番目の質問から始まります :(. 理想的には、彼はすでに 5 つの質問に回答しているので、6 番目の質問から開始する必要があります。

誰かがこの問題を解決するのを手伝ってくれませんか? カウントを保持すると、配列リストをシャッフルするたびに機能しなくなります (したがって、回答された質問が繰り返される可能性があります)。戻るボタンをクリックし、再度同じカテゴリを選択したときに同じ状態に戻る

これは一般的な問題に違いないので、すでに解決した場合は、私を助けてください。

事前にどうもありがとう、イシャン

4

2 に答える 2

0

StartActivityForResult()を使用してみませんか。int x = 5をCategoryActivityに送り返します。その後、QuestionActivityを再開すると、バンドルエクストラでxを送り返すことができます。したがって、QuestionActivityは、6番目(x + 1)の質問から開始することを認識しています。

質問がランダムに並べられている場合、6番目の質問は最初の5つの質問と同じである可能性があるため、問題が発生します。したがって、int xだけを返送する代わりに、すでに回答済みの質問番号の整数配列を送信します。

于 2011-08-16T16:28:55.513 に答える
0

このデータを SQLite DB または SharedPreferences ファイルに保存することを検討することをお勧めします。このようにして、ユーザーが中断した場所を記録し、これらのストレージ メカニズムのいずれかの値に基づいて次の質問を提示できます。

http://developer.android.com/guide/topics/data/data-storage.html

于 2011-08-16T15:57:28.217 に答える