应用程序在方向更改时崩溃,片段有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()来修复错误
答案 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