次の問題があります。構成の変更時にフラグメントの 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;
}
}