Подклассификация SupportMapFragment приводит к исключению NullPointerException

В настоящее время я реализую свой собственный подкласс SupportMapFragment, используя библиотеку go-play-сервисов r3.

Я получаю NullPointerException в одном из внутренних классов библиотеки, когда пытаюсь добавить свой фрагмент к Activity или ViewPager. Здесь соответствующая stacktrace:

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)

По-видимому, внутреннее отображение в этой точке равно null.

Кто-нибудь уже сталкивался с этой проблемой и имел решение?

Ответы

Ответ 1

В вашем подклассе SupportMapFragment вы переопределили onCreateView (...)?

Если вы это сделали, вам также нужно будет вызвать super.onCreateView(...) в вашем собственном onCreateView (...), чтобы суперкласс мог создать его представление. Фрагмент тесно связан с основным видом.

Ответ 2

Попробуйте getChildFragmentManger() Также убедитесь, что вы заполняете или после onActivityCreated()


Документы также, по-видимому, предполагают, что если базовая система карт не работает, она не будет работать.

Также проверьте, что вы используете v11 из ACL (хотя я сомневаюсь, что проблема).