2

activity構成変更中およびfragment構成変更時にデータを保存する適切な方法は何ですか? 私は持っていactivityNavigationDrawer、現在選択されている項目の位置を ListView に保存したいだけでなく、からデータを保存したいと考えていますfragmentonSaveInstanceStateオブジェクトをアクティビティに保存しようとしましたが、この場合、データをフラグメントに保存できません (onSaveInstanceStateフラグメント クラスを使用)。データを保存する適切な方法activityとそのfragment構成変更は何ですか?

4

2 に答える 2

1

A. Fragment
おそらく向きの変更を処理する最善の方法は、 を呼び出すsetRetainInstance(true)ことですonCreate。このようにして、フラグメントは分離されますが、そのインスタンスは方向の変更時に破棄されません。アクティビティが再作成されると、同じフラグメント インスタンスがアタッチされます。ただし、以前のアクティビティから何かを保持してメモリ リークを引き起こさないように十分に注意する必要があります。
データを保持するもう 1 つのオプションは、上書きonSaveInstanceStateです。

B. アクティビティ
フラグメント内の重いデータを移動したら、理論上はアクティビティの再現についてあまり心配する必要はありません。ビューに一意の ID を適切に設定している場合、Android は以前に入力したデータを保持する必要があります。モデルデータがある場合は、savedInstanceバンドルに入れます。繰り返しますが、 Bundle パラメータonSaveInstanceStateからデータを上書きして取得します。onCreate

于 2013-11-04T13:11:48.533 に答える
0

SharedPreferences http://developer.android.com/guide/topics/data/data-storage.htmlに保存してみてください

于 2013-11-04T13:08:53.030 に答える