kri*_*hna 5 java android listview android-listview android-fragments
嗨,我有一个有两个片段的活动.
片段B
现在的问题是,如果用户在片段B中并且配置更改发生像屏幕旋转等不止一次,那么我的ListView是空的,因为我的arraylist为null.
请注意,我在片段A和片段B中使用onSavedInstanceState.如果我的当前片段是片段A并且发生配置更改,那么恢复状态就没有问题,因为在onCreateView中我从bundle获取了arraylist.
我知道当我从片段B回到之前在backstack中的片段A时,我的arraylist为空的原因.当片段A在backstack中时,被调用的唯一方法是onSaveInstanceState,因此在第一次配置更改后我的arraylist字段为null因为我无法将存储在savedInstateState包中的arraylist分配给arraylist字段.
我不想在清单中使用android:configchanges属性.
我的问题是如何恢复backstack中片段的状态.
您可以在活动清单文件中使用setRetaininstance(true)inonAttach和此行
。ConfigChanges = "screenSize|keyBoardHidden|orientation"