在活动中包含两个Framelayouts的Google Maps V2地图

时间:2015-01-23 20:06:56

标签: android google-maps android-fragments google-maps-api-3

我的Android应用程序中包含两个FrameLayouts的Activity。我想通过使用googlemaps v2在顶部框架中包含地图。在底部framelayout我想实现一个列表。每次当我用地图添加片段时,地图使用完整的屏幕,如果我在第二个framelayout中包含一个列表,我会得到一个nullpointer错误。

这是我将片段包含在地图中的代码:

setContentView(R.layout.activity_new_tour);
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
GoogleMapsFragment googleMapFragment = new GoogleMapsFragment();
ft.replace(R.id.fragment111_container,
googleMapFragment,"mapfragment");
ft.addToBackStack(null);
ft.commit();:

这是活动的布局     

<FrameLayout  
      android:id="@+id/fragment111_container"
      android:layout_width="match_parent"
      android:layout_height="0dp"
      android:layout_weight="40"
      />

    <FrameLayout
        android:id="@+id/fragment222_container"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="60" />

    <!-- Listview to display slider menu -->
<ListView
   android:id="@+id/list_slidermenu"
    android:layout_width="270dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:divider="@color/white"
    android:dividerHeight="1dp"        
    android:listSelector="@color/blue"
    android:background="@color/black"/>


</android.support.v4.widget.DrawerLayout>

有人可以告诉我这是否可行,我该怎么做?也许有人可以展示我的榜样。

1 个答案:

答案 0 :(得分:0)

在XML文件中,如果要将mapFragment放在frameLayout和ListView之上,则应将它们全部放在FrameLayout中。另外,您可能希望在FrameLayout中放置RelativeLayout或LinearLayout,以便可以在ListView上方创建mapFragment。

示例XML:

<FrameLayout>
   <RelativeLayout>
      <Fragment android:id="+id/mapFragment"
                ....../>
      <ListView android:id="list"
                android:layout_below="+id/mapFragment"
                ...... />
   </RelativeLayout>
</FrameLayout>