Android应用程序在使用ViewPager更改方向时崩溃
我目前正在开发一个使用ViewPager的应用程序,一旦方向发生变化,它就会崩溃。我已经检查了好几篇关于这个的帖子,但是没有一篇有和我一样的错误Android应用程序在使用ViewPager更改方向时崩溃,android,google-maps,Android,Google Maps,我目前正在开发一个使用ViewPager的应用程序,一旦方向发生变化,它就会崩溃。我已经检查了好几篇关于这个的帖子,但是没有一篇有和我一样的错误 java.lang.NullPointerException at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1435) at android.support.v4.app.FragmentManagerImpl$1.run(Fr
java.lang.NullPointerException
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1435)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
我已经添加了其他帖子建议的修复,即
@Override
public void onSaveInstanceState(Bundle outState)
{
//first saving my state, so the bundle wont be empty.
outState.putString("WORKAROUND_FOR_BUG_19917_KEY", "WORKAROUND_FOR_BUG_19917_VALUE");
super.onSaveInstanceState(outState);
}
但这不起作用
setRetainInstance(true);
不在我的代码中,它被注释掉了,正如我建议的那样,我也尝试将它设置为false
我也指明了
android:screenOrientation="portrait"
这在90%的时间内解决了问题。但是,如果设备关闭/进入睡眠状态,并且我的应用程序当时是打开的应用程序,然后登录屏幕变为横向,则应用程序会在后台再次启动,并在用户登录时崩溃
编辑:而且,这个问题似乎只是因为我有两个不同的片段,其中有一个谷歌地图片段
任何帮助都将不胜感激,我觉得我已经尝试了一切。一旦我遇到同样的问题。您在XML中添加了GoogleMap片段。然而,他说: 注意:当布局包含以下内容时,不能将布局充气成碎片 A.嵌套片段仅在添加到 动态分段 在你的例子中,你想用GoogleMaps将一个布局膨胀成ViewPager片段,你不能这样做
您应该从Java代码中将GoogleMap片段添加到ViewPager中,例如使用ViewGroup或其子类方法。哪个版本的Android?谷歌地图标签是必要的吗?我的目标是sdk版本16到18,这是必要的,因为只有当我有两个不同的地图片段时才会发生错误。只有一个问题没有发生。为了澄清,我的ViewPager有三个片段,第一个有一个maps片段,第二个没有,第三个有一个不同的maps片段。如果我取出第二个地图碎片,那么崩溃不会发生,我最近发现了这个问题。@TomW你解决了这个问题吗?@surfer190是的,我最终解决了它。我用xml嵌套片段,而不是使用儿童支持片段管理器,我想这就是修复它的原因,已经有一段时间了。在我让它工作之前,我必须先阅读一下如何嵌套碎片。