0

私のレイアウトには、3 つの Fragment を持つ ViewPager があります。フラグメントには、いくつかの arrayList と Maps から取り込まれた recyclerView があります。出力では、複数のボタンを含む CardView と、動的データを含む TextView を使用します (ボタンは TextView の値を変更します)。

すべてがうまく機能していますが、今は Preference アクティビティを実装しています。このアクティビティを起動して MainActivity に戻ると、すべてのデータ変更が失われます。すべてがデフォルト値を示しています。

このデータ損失を処理または防止するにはどうすればよいですか?

ありがとうございました!

編集:少なくとも私の目的では完全に機能する解決策を思いつきました。このトピックを読んでください(PreferenceActivity で実装しました)。

4

1 に答える 1

0

sharedpreferences を使用してデータを保存します。アクティビティが再度開かれると、sharedpreference から値が読み込まれます。このようにして、アプリがアンインストールされるまで値を保存できます。別の方法として、 を介して mainActivity に移動する代わりにstartActivity()、 を実行できますsuper.onBackPressed()。もう 1 つのオプションは、メイン アクティビティで sharedpreferences を使用することです。というバンドルがあるかチェックしますgetBoolean("restoreSelectedOptions", false)。これが true の場合は値が復元され、false の場合は新しい値を入力する必要があり、それが sharedpreference に保存されます。

于 2016-03-28T04:26:04.927 に答える