2012-12-05 10 views
14

W tej chwili używam własnej podklasy SupportMapFragment, używając biblioteki r3 do obsługi Google Play.Utworzenie podklasy SupportMapFragment skutkuje wyjątkiem NullPointerException.

Dostaję NullPointerException w jednej z wewnętrznych klas biblioteki, gdy próbuję dodać mój Fragment do Activity lub ViewPager. Oto odnośny 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) 

Najwyraźniej mapa wewnętrzna jest zerowa w tym momencie.

Czy ktoś już napotkał na ten problem i ma rozwiązanie?

+0

Też utknąłem na tym problemie ?! Jak to się robi podklasowanie? Moim powodem jest użycie ActionBarSherlock – StuStirling

+0

czy możesz pokazać swój kod? – ligi

+0

Obecnie nie mogę. Ale przygotuję coś, co mogę pokazać. – keyboardsurfer

Odpowiedz

33

W swojej podklasie funkcji SupportMapFragment przesłoniłeś widok onCreateView (...)?

Jeśli tak, to musisz również wywołać super.onCreateView (...) we własnym onCreateView (...), aby super klasa mogła utworzyć swój widok. Fragment jest ściśle związany z podstawowym widokiem.

+0

Masz rację. Brakowało super połączenia. Dodanie go rozwiązało mój NPE. Dzięki! – keyboardsurfer

+0

@Keyboardsurfer Próbuję czegoś podobnego. czy możesz podzielić się strukturą szkieletu, jak to zrobić? http://stackoverflow.com/questions/13764266/android-supportmapfragment-exception-error –

+0

Cześć, jeśli nie chcę wywoływać super.onCreateView()? Próbuję tego zamiast płytek OSM, czy to możliwe? http://stackoverflow.com/questions/14984617/nulpointerexception-on-implementing-fragments-for-osmdroid – lyk

1

Spróbuj getChildFragmentManger() Również upewnić się zapełnić w lub po onActivityCreated()


Dokumentów również wydają się sugerować, że jeśli Mapy bazowego systemu nie działa to nie będzie działać.

Sprawdź również, czy używasz v11 listy ACL (chociaż wątpię, że to jest problem).

+0

Dzięki. Ale nie próbuję umieszczać fragmentu SupportMapFragment wewnątrz mojego fragmentu. Próbuję faktycznie podklasy SupportMapFragment. Używam również ACL v11 i zadbałem o potencjalną wartość zwracaną przez funkcję getMap. – keyboardsurfer

Powiązane problemy