0

我在我的应用程序中使用操作栏片段。当屏幕旋转操作栏内容丢失时,请建议如何保留它们。这是我为此做的代码

@Override
protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        if(currentDisplayedCase != null) {
            outState.putInt(DISPLAY_CASE_KEY, currentDisplayedCase.intValue());

        }
        outState.putString(ACTION_BAR_TEXT, textView1.getText().toString());
    }

并在 onCreate 方法中

if(savedInstanceState!=null&&savedInstanceState.containsKey(ACTION_BAR_TEXT))
        textView1.setText(savedInstanceState.getString(ACTION_BAR_TEXT, null));
4

2 回答 2

0

当设备旋转时,活动会重新启动。

有关正确的解决方案,您可以查看以下链接

旋转屏幕时丢失数据

它将帮助您了解数据丢失的原因以及如何恢复数据。

于 2013-07-30T11:09:07.663 回答
0

您需要在清单文件 android:configChanges="orientation" 的活动声明中添加以下内容,即

<activity android:name=".myActivity" android:configChanges="orientation" android:label="@string/txt_app_name" android:theme="@style/myTheme" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>

这意味着您将处理活动中的方向变化。

于 2013-07-30T12:57:49.983 回答