【问题标题】:loosing data of Fragments on orientation change在方向变化时丢失片段的数据
【发布时间】:2013-08-31 19:10:52
【问题描述】:

我有一个列表片段和一个详细信息片段。当在列表片段上选择项目时,相应的数据将在详细信息片段中更改。我在控制这些片段的主要活动的 onCreate 上有很多初始化。我不想在改变方向时重新创建所有这些数据……有可能吗?每当更改方向时,我在所有详细信息片段中手动输入的数据也会丢失..请建议如何保留数据

【问题讨论】:

    标签: android android-fragments


    【解决方案1】:

    在清单文件中添加单行

    <activity
                android:name="com.abc.src.MainActivity"
                android:configChanges="keyboardHidden|orientation|screenSize"
     />
    

    更新

    在您管理片段的主要活动中覆盖此方法。

    @Override
        public void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);
    
            if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){
                // set visibility visible of Layout in which your list fragment resides 
            }else if(newConfig.orientation==Configuration.ORIENTATION_PORTRAIT){
                // set visibility gone of Layout in which your list fragment resides
            }
        }
    

    【讨论】:

    • 如果我只想显示详细信息片段而不是方向更改的列表片段....我们通常会在 oncreate 中执行此 coniditonal 检查...所以这会影响现在的仪式??我的意思是在这种情况下不会调用 oncreate 来更改视图
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多