0

私のプロジェクト Connect+Details と Menu には 2 つの主要なアクティビティがあります。最初のアクティビティから 2 番目のアクティビティに切り替えると、すべてがうまくいきます。問題は、「メニュー」から「接続+詳細」に戻ることから始まります。

戻るキーを使用して 2 番目のアクティビティを切り替え、最初のアクティビティに戻ると、すべてうまくいきます。

このコードを使用すると問題が発生します:

Intent myIntent = new Intent(Menu.this, ConnectActivity.class);
startActivity(myIntent);

「Connect+Details」に戻りますが、そのアクティビティのすべての詳細が失われます。

私の質問は簡単です。プレビュー アクティビティに戻って、そのアクティビティで使用されている詳細を保持するにはどうすればよいですか。

編集:私が4番目、5番目のアクティビティにいるときでも同じことが起こるので、finish()助けにはなりませんでした.

4

2 に答える 2

0

おそらく、データをSharedPreferencesデータベースまたはデータベースに保存してから、保存したデータを使用してActivity. 離れたときにSharedPreferencesを使用してペアを保存できます。これは、アプリを閉じても保持されます。key/valueConnect Activity

大量のデータが保存される場合は、SQLite DBの使用を検討してください。これは、セットアップと使用が少し難しい場合がありますが、大量のデータを保存している場合、特に別のユーザーの場合は、価値があるかもしれません。

これらのオプションはどちらも、Activityまたはプログラムを終了してもデータを保持します。a を使用することもできますstatic Arrayが、最初の 2 つのオプションのいずれかがおそらく適切です。

Storage Options Docsには、特に Shared Preferences が適していると判断した場合に、開始するための適切な例がいくつかあります。

編集

何かが変更されない限り、シリアル化可能なオブジェクトを に格納することはできませんSharedPreferences。ただし、ファイルへの保存とそこからの読み取りについて説明するSOリンクがあります。多分これはあなたを助けるでしょう。

于 2013-04-01T18:13:05.247 に答える