2

マイ アクティビティには、フラグメントを使用して、縦向きの 1 ペイン レイアウトと横向きの 2 ペイン レイアウトがあります。方向の変更後にシステムにすべてのビューを復元させたいのですが、どこから始めればよいかわかりません。

2 つの方向でレイアウトが異なる (ただし類似している) ことを考慮すると、これは可能ですか?

誰かがこれを実装した (または少なくとも試した) 場合は、経験を共有してください。

4

3 に答える 3

2

onCreateメソッドでsetRetainInstance(true)を指定して Fragment を使用することをお勧めします。これにより、フラグメントはアクティビティ構成の変更後もメンバー変数を保持します。必要な情報を説明するこのブログ投稿をお読みください: http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html

于 2013-08-19T14:17:01.143 に答える
1
@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);
        }
}
于 2013-03-01T23:00:35.567 に答える