14

我目前正在SupportMapFragment使用 google-play-services 库 r3 实现我自己的子类。

NullPointerException当我尝试将 Fragment 添加到Activityor时,我得到了库的内部类之一ViewPager。这是相关的堆栈跟踪:

java.lang.NullPointerException
    at maps.y.p.onResume(Unknown Source)
    at com.google.android.gms.maps.internal.IMapFragmentDelegate$Stub.onTransact(IMapFragmentDelegate.java:115)
    at android.os.Binder.transact(Binder.java:310)
    at com.google.android.gms.maps.internal.IMapFragmentDelegate$a$a.onResume(Unknown Source)
    at com.google.android.gms.maps.SupportMapFragment$a.onResume(Unknown Source)
    at com.google.android.gms.internal.c$1.a(Unknown Source)
    at com.google.android.gms.internal.c.a(Unknown Source)
    at com.google.android.gms.internal.c.onResume(Unknown Source)
    at com.google.android.gms.maps.SupportMapFragment.onResume(Unknown Source)
    at android.support.v4.app.Fragment.performResume(Fragment.java:1503)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
    at android.support.v4.app.FragmentManagerImpl.performPendingDeferredStart(FragmentManager.java:807)
    at android.support.v4.app.FragmentManagerImpl.startPendingDeferredFragments(FragmentManager.java:1112)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1461)
    at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461)

显然,此时内部地图为空。

有没有人已经遇到过这个问题并有解决方案?

4

2 回答 2

33

在您的 SupportMapFragment 子类中,您是否覆盖了 onCreateView(...)?

如果你这样做了,你还需要在你自己的 onCreateView(...) 中调用 super.onCreateView(...) 来让超类创建它的视图。该片段与底层视图紧密相关。

于 2012-12-07T03:59:37.420 回答
1

尝试getChildFragmentManger()同时确保您填充或之后onActivityCreated()


文档似乎还暗示,如果底层地图系统没有运行,它将无法工作。

还要检查您使用的是 ACL 的 v11(尽管我怀疑这就是问题所在)。

于 2012-12-05T17:56:36.540 回答