1

タブレット アプリ用に 2 つの xml ファイル (Android レイアウト) があり、レイアウトが 1 ペイン レイアウトの場合、カスタム MapFragment を別の Fragment と交換します。

これは、場所のリストでビューを開始するために使用しているレイアウトです (最初のフラグメントは ListFragment であり、正常に動作します)。

<?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」を置き換えますが、null ポインター例外が発生します。これは、MapFragment クラスが単一ペイン レイアウトにないためです。どうすればそれらを交換できますか? setContentView(R.layout.map_layout.xml) を呼び出してみましたが、これは同じエラーをスローします。レイアウトを適切に設定するにはどうすればよいですか?

4

0 に答える 0