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

  • AFISHAL

    AFISHAL

    7 Mart 2009
  • Apple

    Apple

    22 HAZİRAN 2005
  • RiceBunny

    RiceBunny

    16 ŞUBAT 2006