应用程序正在崩溃方向更改

时间:2015-01-23 10:10:35

标签: android

应用程序在方向更改时崩溃,片段有Fragmentstatepager

崩溃日志:

java.lang.NullPointerException   
at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.ja  va:569)
at android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:211)
at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1281)

解决方案:我通过用getSupportManager()替换getChildManager()来修复错误

3 个答案:

答案 0 :(得分:1)

在您的清单文件中写下以下代码......

<activity
        android:name=".YourActivity"
        android:configChanges="orientation|keyboardHidden|screenSize">
</activity>

并在YourActivity.java中编写以下代码

    @Override

    public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
} 

希望这可以帮助你..

答案 1 :(得分:0)

您可以通过添加以下代码来锁定方向

    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" 
        android:configChanges="keyboardHidden|orientation|screenSize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

答案 2 :(得分:-1)

您应该阅读并学习关于布局的Android-Google官方教程。

要获得良好的展示效果,您必须在多个Layout上添加元素(Button,TextView ..)。 根据手机的方向和尺寸,您的应用程序将自动调整大小。

或者您可以在Manifest应用中锁定方向

android:screenOrientation =“landscape”或“portrait”

祝你好运。

编辑:

官方: http://developer.android.com/guide/topics/ui/declaring-layout.html

另一个: http://code.tutsplus.com/tutorials/android-user-interface-design-layout-basics--mobile-3671