bây giờ SDK cuối cùng đã ra mắt với google apis - cách tốt nhất để tạo Phân đoạn với MapView là gì? MapView cần một MapActivity để hoạt động bình thường.
Việc có Activity quản lý các Fragment kế thừa từ MapActivity (giải pháp không tốt vì nó đi ngược lại với ý tưởng rằng các Fragment được tự chứa) và sử dụng một bố cục dựa trên xml thông thường không hoạt động. Tôi nhận được một NullPointerException trong MapActivity.setupMapView ():
E / AndroidRuntime (597): Do: java.lang.NullPointerException gây ra E / AndroidRuntime (597): tại com.google.android.maps.MapActivity.setupMapView (MapActivity.java:400) E / AndroidRuntime (597): tại com.google.android.maps.MapView. (MapView.java:289) E / AndroidRuntime (597): tại com.google.android.maps.MapView. (MapView.java:264) E / AndroidRuntime (597): tại com.google.android.maps.MapView. (MapView.java:247)
Ý tưởng thứ hai của tôi là tạo MapView theo chương trình và chuyển hoạt động được liên kết (thông qua getActivity ()) dưới dạng Ngữ cảnh cho phương thức khởi tạo MapView. Không hoạt động:
E / AndroidRuntime (834): Do: java.lang gây ra. E / AndroidRuntime (834): tại com.google.android.maps.MapView. (MapView.java:291) E / AndroidRuntime (834): tại com.google.android.maps.MapView. (MapView.java:235) E / AndroidRuntime (834): tại de.foo.FinderMapFragment.onCreateView (FinderMapFragment.java:225) E / AndroidRuntime (834): tại android.app.FragmentManagerImpl.moveToState (FragmentManager.java:708) E / AndroidRuntime (834): tại android.app.FragmentManagerImpl.moveToState (FragmentManager.java:900) E / AndroidRuntime (834): tại android.app.FragmentManagerImpl.addFragment (FragmentManager.java:978) E / AndroidRuntime (834): tại android.app.Activity.onCreateView (Activity.java:4090) E / AndroidRuntime (834): tại android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:664)
Tôi đoán thực sự nên có một cái gì đó giống như MapFragment xử lý các luồng nền mà MapView cần ... Vậy phương pháp tốt nhất hiện tại để làm điều này là gì?
Trân trọng cảm ơn từ Đức, Valentin