Rus*_*hts 5 android deprecated
setRetainInstance 已弃用。还有什么选择?
我有很多片段,里面有很多复杂的对象变量。今天我只有一行代码:setRetainInstance. 完整代码示例如下:
public class MyFragment extends Fragment{
private MyComplicatedCustomClass1 object1;
private MyComplicatedCustomClass2 object2;
private MyComplicatedCustomClass3 object3;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
}
}
Run Code Online (Sandbox Code Playgroud)
这足以让我在更改配置时(例如,更改屏幕旋转时)忘记保存和恢复对象。
我应该在代码中更改什么来替换setRetainInstance?
如果可能的话,请给我一个简短的代码示例。
聚苯乙烯
注意: 我可以阅读文档 - 所以请不要以 Google 风格的方式回答:“ViewModel 是最好的...google 推荐...以及 bla-bla...”。并且请不要复制/粘贴 Google 文档中的文章 - 我可以自己查看。
如果您有具体的工作代码解决方案 - 我将非常感激。
小智 8
我在 AndroidManifest.xml 中设置 configChanges,而不是在片段中设置 setRetainInstance。当我翻转方向时,活动不会破坏我的片段和其中的对象。
<activity android:name=".MyActivity"
android:configChanges="screenSize|orientation"
android:label="@string/app_name">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10306 次 |
| 最近记录: |