私は2つのフレームを次のように定義しています:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment class="com.test.act"
android:id="@+id/list"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<fragment android:name="com.test.nact"
android:id="@+id/viewer"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
ユーザー入力 (ボタンのクリック) に基づく 2 番目のフレームでは、他の誰かによって以前にコーディングされた新しいアクティビティを起動したいと考えています。したがって、onCreateView 関数で新しいインテントを作成し、次のように開始します。
Intent newIntent = new Intent( view.getContext(), PictureActivity.class );
startActivityForResult( newIntent, ACTION_REQUEST_PIC );
ただし、PictureActivity が起動されて画面全体が占有され、表示の com.test.act フラグメント部分が上書きされます。PictureActivity が表示の com.act.nact 部分にのみ表示されるようにします。どうやってやるの?