teraz, gdy ostateczny pakiet SDK jest dostępny w Google API - jaki jest najlepszy sposób na utworzenie fragmentu z MapView? MapView potrzebuje MapActivity do prawidłowego działania.
Posiadanie działania zarządzającego fragmentami dziedziczone po MapActivity (złe rozwiązanie, ponieważ jest to sprzeczne z ideą, że fragmenty są samodzielne) i używanie zwykłego układu opartego na XML nie działa. Otrzymuję NullPointerException w MapActivity.setupMapView ():
E / AndroidRuntime (597): spowodowane przez: java.lang.NullPointerException E / AndroidRuntime (597): w com.google.android.maps.MapActivity.setupMapView (MapActivity.java:400) E / AndroidRuntime (597): w com.google.android.maps.MapView. (MapView.java:289) E / AndroidRuntime (597): w com.google.android.maps.MapView. (MapView.java:264) E / AndroidRuntime (597): w com.google.android.maps.MapView. (MapView.java:247)
Moim drugim pomysłem było programowe utworzenie MapView i przekazanie skojarzonego z nim działania (poprzez getActivity ()) jako Context do konstruktora MapView. Nie działa:
E / AndroidRuntime (834): spowodowane przez: java.lang.IllegalArgumentException: MapViews można tworzyć tylko wewnątrz instancji MapActivity. E / AndroidRuntime (834): w com.google.android.maps.MapView. (MapView.java:291) E / AndroidRuntime (834): w com.google.android.maps.MapView. (MapView.java:235) E / AndroidRuntime (834): w de.foo.FinderMapFragment.onCreateView (FinderMapFragment.java:225) E / AndroidRuntime (834): w android.app.FragmentManagerImpl.moveToState (FragmentManager.java:708) E / AndroidRuntime (834): na android.app.FragmentManagerImpl.moveToState (FragmentManager.java:900) E / AndroidRuntime (834): w android.app.FragmentManagerImpl.addFragment (FragmentManager.java:978) E / AndroidRuntime (834): w android.app.Activity.onCreateView (Activity.java:4090) E / AndroidRuntime (834): w android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:664)
Naprawdę powinno istnieć coś takiego jak MapFragment, które zajmie się wątkami w tle, których MapView potrzebuje, tak myślę ... Więc jaka jest obecnie najlepsza praktyka, aby to zrobić?
Dzięki i pozdrowienia z Niemiec Valentin