1

我的平板电脑应用程序有两个 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) 但这会引发相同的错误。如何正确设置布局?

4

0 回答 0