マイ アクティビティには、フラグメントを使用して、縦向きの 1 ペイン レイアウトと横向きの 2 ペイン レイアウトがあります。方向の変更後にシステムにすべてのビューを復元させたいのですが、どこから始めればよいかわかりません。
2 つの方向でレイアウトが異なる (ただし類似している) ことを考慮すると、これは可能ですか?
誰かがこれを実装した (または少なくとも試した) 場合は、経験を共有してください。
マイ アクティビティには、フラグメントを使用して、縦向きの 1 ペイン レイアウトと横向きの 2 ペイン レイアウトがあります。方向の変更後にシステムにすべてのビューを復元させたいのですが、どこから始めればよいかわかりません。
2 つの方向でレイアウトが異なる (ただし類似している) ことを考慮すると、これは可能ですか?
誰かがこれを実装した (または少なくとも試した) 場合は、経験を共有してください。
onCreateメソッドでsetRetainInstance(true)を指定して Fragment を使用することをお勧めします。これにより、フラグメントはアクティビティ構成の変更後もメンバー変数を保持します。必要な情報を説明するこのブログ投稿をお読みください: http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("curChoice", mCurCheckPosition);
}
後で次のように使用できます。
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
// Restore last state for checked position.
mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
}
}