Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用程序在使用ViewPager更改方向时崩溃_Android_Google Maps - Fatal编程技术网

Android应用程序在使用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

我目前正在开发一个使用ViewPager的应用程序,一旦方向发生变化,它就会崩溃。我已经检查了好几篇关于这个的帖子,但是没有一篇有和我一样的错误

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嵌套片段,而不是使用儿童支持片段管理器,我想这就是修复它的原因,已经有一段时间了。在我让它工作之前,我必须先阅读一下如何嵌套碎片。