現在最終的SDK與谷歌apis - 什麼是用MapView創建片段的最佳方式? MapView需要MapActivity才能正常工作。MapView中的片段(蜂窩)
讓管理碎片的活動繼承自MapActivity(糟糕的解決方案,因爲它違背碎片自包含的想法)並且使用常規的基於xml的佈局不起作用。我得到了MapActivity.setupMapView()一個NullPointerException:
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和語境的MapView的構造函數傳遞相關的活動(()通過getActivity)。不工作:
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)
真的應該有類似MapFragment,是以後臺線程護理需要MapView類我猜...那麼,什麼是做到這一點當前的最佳做法是什麼?
感謝和來自德國的問候, 瓦倫丁
我爲此報告了功能請求。 請明星。 http://code.google.com/p/android/issues/detail?id=15347 – 2011-03-13 04:39:29