タブレット アプリ用に 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) を呼び出してみましたが、これは同じエラーをスローします。レイアウトを適切に設定するにはどうすればよいですか?