Activity在onSaveInstance上保留Fragment的实例

时间:2015-07-08 08:02:14

标签: android android-fragments savestate

我正在编写一个应用程序,使用 onSaveInstance(..)来保留设备配置更改的值(比如设备字体,本地)。

这里的应用程序Activity使用多个Fragment来显示。当配置中的chnage在返回到应用程序时更改然后onCreate(..)执行并且应用检查 Bundle 对象是否为null。现在直到这个状态app 没有设置任何Fragment子回来但是仍然最后设置Fragment(在更改配置之前),child开始执行它的生命周期方法。

如何防止它,从Fragment child检查Same Bundle对象的一种方法,与Activity和return相同。但是还有其他方法可以在设备配置更改时从Activity中删除子项!

处理重新调用的活动参考代码:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.reading_activity);

        if(savedInstanceState == null) {
            init(savedInstanceState);
        } else {
            // Don't do anything
        }
    }

这里init(..)负责设置Fragment child。

0 个答案:

没有答案