我的平板电脑应用程序有两个 xml 文件(Android 布局),如果布局是单窗格布局,我想将自定义 MapFragment 与另一个 Fragment 交换。
这是我用来以位置列表开始视图的布局(初始片段是 ListFragment 并且工作正常),所以在 middle_frame.xml :
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/header_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
接下来是我的 map_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map_fragment_framelayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<fragment class="com.google.android.gms.maps.MapFragment"
android:id="@+id/map_fragment_id"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
当我单击 ListFragment 中的列表项时,我想更新地图以使其移动到新位置,因此我替换了“header_frame”,但它给了我一个空指针异常。这是因为 MapFragment 类不在单窗格布局中。我怎样才能把它们换掉?我尝试调用 setContentView(R.layout.map_layout.xml) 但这会引发相同的错误。如何正确设置布局?