SORU
24 ŞUBAT 2011, PERŞEMBE


MapView bir Parçası (Petek)

son SDK google API ile de bir MapView ile bir Parça oluşturmak için en iyi yolu nedir? MapView bir MapActivity doğru çalışması gerekiyor.

Etkinlik Parçaları MapActivity (Parçaları müstakil olduğu fikrine karşı çıktığı için kötü çözüm) miras ve düzenli bir xml düzeni dayalı yönetici kullanımı olan çalışmıyor. MapActivity bir NullPointerException alıyorum.() setupMapView:

E/AndroidRuntime(  597): Caused by: java.lang.NullPointerException
E/AndroidRuntime(  597):    at com.google.android.maps.MapActivity.setupMapView(MapActivity.java:400)
E/AndroidRuntime(  597):    at com.google.android.maps.MapView.(MapView.java:289)
E/AndroidRuntime(  597):    at com.google.android.maps.MapView.(MapView.java:264)
E/AndroidRuntime(  597):    at com.google.android.maps.MapView.(MapView.java:247)

MapView kurucusuna İçerik olarak. benim ikinci fikir MapView programlı olarak oluşturmak ve ilgili faaliyet geçmesi oldu (getActivity)) Çalışmıyor:

E/AndroidRuntime(  834): Caused by: java.lang.IllegalArgumentException: MapViews can only be created inside instances of MapActivity.
E/AndroidRuntime(  834):    at com.google.android.maps.MapView.(MapView.java:291)
E/AndroidRuntime(  834):    at com.google.android.maps.MapView.(MapView.java:235)
E/AndroidRuntime(  834):    at de.foo.FinderMapFragment.onCreateView(FinderMapFragment.java:225)
E/AndroidRuntime(  834):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:708)
E/AndroidRuntime(  834):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:900)
E/AndroidRuntime(  834):    at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:978)
E/AndroidRuntime(  834):    at android.app.Activity.onCreateView(Activity.java:4090)
E/AndroidRuntime(  834):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:664)

Gerçekten orada arka plan iş parçacığı MapView ilgilenir MapFragment gibi bir şey olmalı sanırım ihtiyacı var. bunu yapmak için mevcut en iyi uygulama nedir?

Almanya'dan teşekkür ve Saygılarımızla, Valentin

CEVAP
14 Kasım 2011, PAZARTESİ


Bu sorunu çözmek için parçası TabHost kullanarak başardım.

Burada fikir (kısaca):

  1. MainFragmentActivity FragmentActivity (support library) uzanır ve MapFragment.

  2. MyMapActivity MapActivity uzanır MapView içerir.

  3. LocalActivityManagerFragment LocalActivityManager ev sahipliği yapıyor

  4. MapFragment LocalActivityManagerFragment uzanır.

  5. Ve LocalActivityManager MyMapActivity aktivite içerir.

Örnek uygulama: https://github.com/inazaruk/map-fragment.


enter image description here

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chaoticmoogle

    Chaoticmoogl

    13 ŞUBAT 2006
  • Kenneth Håkonsen

    Kenneth Håk

    13 Mart 2011
  • Rachel Raum

    Rachel Raum

    10 EYLÜL 2007