0

このサンプルを拡張して取得した単純なアプリ (フラグメント コンテンツを含むタブ) があります: http://developer.android.com/resources/samples/Support4Demos/src/com/example/android/supportv4/app/FragmentTabs.html

これらのタブの 1 つは ListView を持つ必要があり、アイテムをクリックした後、画面が小さい場合は別の画面に、大きい場合 (または横向きモード) の場合は同じ画面に詳細が表示されます。

このサンプルをここに統合しようとしました: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.html、しかしそれはアクティビティであり、フラグメントなので、使用できません:

setContentView(R.layout.fragment_list_layout);

ル詳細:

コンテンツがフラグメントである TabHost を持つ FragmentActivity があります。これらのフラグメントの 1 つは、FragmentLayout.java からのこのサンプルのように、リストと同じ画面に詳細を表示できる ListFragment である必要があります。

ここに画像の説明を入力

推奨される方法 (タブ コンテンツとしてのフラグメント)を使用して、この機能を実現したいと考えています。これは可能ですか?

そうでない場合は、特定のタブが選択されたときに別の FragmentActivityを開始しようとしました。目標は、FragmentLayout の例と同じように、その FragmentActivity をレイアウト (ListView + フラグメント) のコンテナーとして使用することですが、以前に作成したタブ メニューを追加できないようです。これを機能させるにはどうすればよいですか?

現在:

ここに画像の説明を入力

「ランダムタブ」を選択した後:

ここに画像の説明を入力

最後の手段として希望する外観 (FragmentActivity を元の tabHost と分離):

ここに画像の説明を入力

4

1 に答える 1

0

tabContent 内に ListView フラグメント用と詳細フラグメント用の 2 つのコンテナーを配置することで、この問題を解決しました。ここに私のレイアウトがあります:

<HorizontalScrollView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true"
    android:scrollbars="vertical" >

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" />
</HorizontalScrollView>

<FrameLayout
    android:id="@android:id/tabcontent"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_weight="0" />

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:baselineAligned="false"
    android:fadingEdge="none" >

    <FrameLayout
        android:id="@+android:id/realtabcontent"
        android:layout_width="0px"
        android:layout_height="fill_parent"
        android:layout_weight="1" />

    <FrameLayout
        android:id="@+android:id/details_container"
        android:layout_width="0px"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:visibility="gone" />
</LinearLayout>

この後、タブは正常に処理できます。

于 2012-08-17T08:31:08.747 に答える