2

次の問題があります。構成の変更時にフラグメントの 1 つのレイアウトを保持しようとしています。したがって、私は使用できると思いましたsetRetainInstance(true)。しかし、うまくいかないことが判明しました。問題は、onCreateView構成が変更されるたびに呼び出されるため、レイアウトが初期状態にリセットされることです。

レイアウトを保持するにはどうすればよいですか? コードを別の場所に移動する必要がありonCreateViewますか?

注意:タブ ホスティング アクティビティがより多くのタブをホストするため、マニフェストでハックを使用することはできません。android:configChanges="orientation"1 つのタブで状態を保持したいだけです。

これが私のコードの一部です:

public class MyFragment extends SherlockFragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) {
    super.onSaveInstanceState(savedInstanceState);   
    setRetainInstance(true);
    View rootView = inflater.inflate(R.layout.abc, container, false);

    // Some more code that was omitted ..

    return rootView;
}
}
4

1 に答える 1