【问题标题】:Nested SupportMapFragment嵌套 SupportMapFragment
【发布时间】:2014-07-12 08:10:04
【问题描述】:

添加支持地图片段时出现以下异常

05-22 23:51:12.817: E/AndroidRuntime(4515): java.lang.NullPointerException
05-22 23:51:12.817: E/AndroidRuntime(4515):     at kbh.a(Unknown Source)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at mbi.a(Unknown Source)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at lxn.a(Unknown Source)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at lxm.a(Unknown Source)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at fnb.onTransact(SourceFile:107)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.os.Binder.transact(Binder.java:361)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at com.google.android.gms.maps.internal.IMapFragmentDelegate$a$a.onCreateView(Unknown Source)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at com.google.android.gms.maps.SupportMapFragment$a.onCreateView(Unknown Source)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at com.google.android.gms.dynamic.a$4.b(Unknown Source)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at com.google.android.gms.dynamic.a.a(Unknown Source)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at com.google.android.gms.dynamic.a.onCreateView(Unknown Source)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at com.google.android.gms.maps.SupportMapFragment.onCreateView(Unknown Source)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.support.v4.app.Fragment.performResume(Fragment.java:1550)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:963)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.os.Handler.handleCallback(Handler.java:733)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.os.Handler.dispatchMessage(Handler.java:95)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.os.Looper.loop(Looper.java:136)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at android.app.ActivityThread.main(ActivityThread.java:5102)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at java.lang.reflect.Method.invokeNative(Native Method)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at java.lang.reflect.Method.invoke(Method.java:515)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
05-22 23:51:12.817: E/AndroidRuntime(4515):     at dalvik.system.NativeStart.main(Native Method)

这在应用程序上随机发生。它工作正常一次,两次甚至三次,然后它就崩溃了。 有时地图会出现,但随后会崩溃。

非常感谢

【问题讨论】:

    标签: java android google-maps-api-3 map


    【解决方案1】:

    看来,您不能拥有具有 SupportMapFragment 的嵌套 Fragment。

    我正在做的事情如下:

    MainFragment extends Fragment;
    FirstChildFragment extends Fragment;
    MapFragment extends Fragment;
    

    MainFragment,它是主片段,它将显示子片段。 FirstChildFragment 是另一个 Fragment,它被保存在 MainFragment 中,最后 MapFragment 保存在 FirstChildFragment 中,MapFragment 膨胀了 SupportMapFragment,它有时会起作用。我将 MapFragment 更改为从 SupportMapFragment 扩展,并且它有效....

    也许我对 Fragment 的抽象是不正确的。但我确实在很多情况下使用片段,它会封装一些视图逻辑。

    谢谢你,对不起。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多