我正在将一个程序转换为使用片段,所以它现在有一个实际的活动,其他一切都是一种或另一种类型的片段。
所以 ErrandMapActivity 的层次结构是:
Object -> Fragment -> SupportMapFragment -> MapViewActivity -> ErrandMapActivity
对于 ErrandAssistantFreeMainActivity:
Object -> Context -> ContextWrapper -> ContextThemeWrapper -> Activity -> FragmentActivity -> ErrandAssistantMainActivity -> ErrandAssistantFreeMainActivity
所以活动加载了主要的fragmentlayout,然后加载了mapview,我看到了片段中的textview,但地图不可见。
对于 ErrandMapActivity,它是一个 Fragment,它加载这个布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
class="com.jblack.android.errandrouter.activity.ErrandMapActivity"
android:orientation="vertical"
map:mapType="normal"
map:uiCompass="true"
map:uiRotateGestures="true"
map:uiScrollGestures="true"
map:uiTiltGestures="true"
map:uiZoomControls="true"
map:uiZoomGestures="true" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
在ErrandMapActivity
我有这个方法:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mContext = getActivity().getApplicationContext();
super.onCreateView(inflater, container, savedInstanceState);
view = inflater.inflate(R.layout.map_fragment_layout, container,
false);
return view;
}
在MapViewActivity.onResume
我有mMapView = getMap()
并且我有这些值,以验证 SupportMapFragment 是否实际实例化了一个地图:
mMapView = GoogleMap (id=830023276792)
fQ = IGoogleMapDelegate$a$a (id=830023235664)
b = ag (id=830023221320)
fR = null
此应用程序中的一个 Activity 使用此布局,因此会加载此布局,然后实例化地图片段:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/allFragmentsFrameLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true" >
<fragment
android:id="@+id/fragment1"
android:name="com.jblack.android.errandrouter.activity.ErrandMapActivity"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
所以,我知道我的扩展片段SupportMapFragment
正在加载,那么为了加载地图可能需要做什么?