如何阻止活动在方向更改时重新加载

时间:2015-11-26 05:35:07

标签: android

我在导航抽屉父活动中有一个孩子的活动,只要页面的方向改变,页面就必须重新加载。

public class ApplicationsClass extends NavigationDrawer implements LoaderCallbacks<Cursor>  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        getLayoutInflater().inflate(R.layout.main_list_activity, frameLayout);

        if (savedInstanceState == null) {

            //I do my stuffs here

        }
    }

    ...
}

在我的AndroidManifest.xml

 <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="22" />

    <!-- Main activity. -->
    <application
        android:largeHeap="true"
        android:allowBackup="true"
        android:theme="@style/AppTheme"
        android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout|uiMode">

        <!-- Register Activity -->
        <activity
            android:name=".ApplicationsClass">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>


    ...
    </application>

我尝试将android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout|uiMode"添加到a​​ndroidmanifest中的应用程序标记中,因为有些文章建议但无济于事。请问有没有办法在android中的方向更改时停止重新加载页面。如果有人可以提供帮助,我将不胜感激。提前致谢。

更新

我还尝试在androidmanifest.xml中为我的活动添加android:configChanges="orientation|screenSize",但无济于事。

我刚刚意识到添加android:configChanges="orientation|screenSize|keyboardHidden"只有在我没有从navigationdrawer扩展类时才能使用它,从而使它成为一个带有navigationdrawer类的片段。仅当它不是片段布局形式时才有效。

1 个答案:

答案 0 :(得分:1)

您需要在android:configChanges="orientation|screenSize"标记中声明activity而不是application标记

<activity
        android:name=".ApplicationsClass"
        android:configChanges="orientation|screenSize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>