1

私はこのシナリオを持っています:

Android アプリの 4 つのアクティビティ:

  • Activity1 : ログインし、Web サービスを呼び出して、2 番目のアクティビティのデータを取得し (オブジェクトに格納)、2 番目のアクティビティに切り替えます。
  • Activity2 : Web サービス呼び出しのオブジェクト結果で作成され、リスト アイテムがあり、onclick アイテムが別の Web サービスを呼び出し、3 番目のアクティビティのデータを取得し、3 番目のアクティビティに制御を切り替えます。
  • Activity3 : Web サービス呼び出しのオブジェクト結果で作成され、リスト アイテムがあり、onclick アイテムが別の Web サービスを呼び出し、4 番目のアクティビティのデータを取得し、4 番目のアクティビティに制御を切り替えます。
  • Activity4 : いくつかのデータが表示されます。

最初のアクティビティを除くすべてのアクティビティには、ログアウトと戻るという 2 つのボタンがあります (アクティビティ 3 にいる場合は、アクティビティ 2 に戻ります)。

戻るボタンは私の問題です。Web サービスをアクティビティに呼び戻したくありません。すべての Web サービス呼び出しの結果を構造体に保存したいと思います。戻るをクリックすると、これを使用して同じデータをアクティビティに再入力したいと考えています。

何か提案はありますか?

4

3 に答える 3

3

独自のApplicationクラスを提供し、そこにプログラム全体のデータを保存できます。プログラムが実行されている限り、そこにとどまります。アクティビティが破棄されて再作成されたときのデータの保存/取得に関して、これははるかに明確で扱いやすいと思います。

于 2012-11-24T13:30:47.227 に答える
2

onSaveInstanceStateonRestoreInstanceStateを使用します。

于 2012-11-24T13:18:55.110 に答える
2

私はあなたが何を望んでいるかを理解しています. アクティビティのライフサイクルを適切に実装する必要があります. 新しいアクティビティを開くと onCreate,onStart と onResume が呼び出されます, そして次のアクティビティに行くと前のアクティビティの onPause が呼び出されてから 2 番目のアクティビティの onCreate が呼び出されます. onResume、onStart、そして貴重なアクティビティから onStop が呼び出されます。最初のアクティビティに戻ると、 onStart が呼び出され、次に onResume が呼び出されます。戻ってきたときの違い onCreate が呼び出されていない場合、onCreate に Web サービスを実装できるため、戻ってきたときに onStart が onCreate ではなく呼び出されるため、Web サービスは呼び出されません。私が言ったことを理解していない場合に備えて、Activity lifeCycle のリンクを次に示します。別のリンク

于 2012-11-24T16:06:14.917 に答える