1

2 つのリスト フラグメントを持つ 1 つのスクロール ビューを作成しました。コードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/blue_shade_top_gainers_and_loosers"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:paddingBottom="1dip"
        android:paddingLeft="1dip"
        android:paddingRight="1dip"
        android:paddingTop="2dip" >

        <fragment
            android:id="@+id/header_fragment"
            android:name="com.lk.ignitionit.cse.util.HeaderFragmentActivity"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <ScrollView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/ScrollView13"
        android:layout_width="fill_parent"
        android:layout_height="match_parent" >

        <RelativeLayout
            android:id="@+id/rl_top"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginBottom="1dip"
            android:layout_marginLeft="1dip"
            android:layout_marginRight="1dip"
            android:layout_marginTop="1dip"
             >

            <LinearLayout
                android:id="@+id/headg"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:scrollbars="vertical" >

                <include layout="@layout/top_gainer_header" />
            </LinearLayout>

            <fragment
                android:id="@+id/gain"
                android:name="com.lk.ignitionit.cse.application.TopGainersFragmentActivity"
                android:layout_width="match_parent"
                **android:layout_height="wrap_content"**
                android:layout_below="@+id/headg" />

            <LinearLayout
                android:id="@+id/headl"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/gain" >

                <include layout="@layout/top_loosers_header" />
            </LinearLayout>

            <fragment
                android:name="com.lk.ignitionit.cse.application.TopLoosersFragmantActivity"
                android:layout_width="match_parent"
                **android:layout_height="wrap_content"**
                android:layout_below="@+id/headl" />
        </RelativeLayout>
    </ScrollView>

</LinearLayout>

しかし、出力にはリスト全体が表示されません

次に、フラグメント レイアウトの高さを「wrap_content」ではなく 240dip に変更すると、リスト全体を表示するのに十分です。しかし、実際には、これらのデータは動的であり、各リスト フラグメントには 10 個のリスト アイテムがあるため、フラグメントの高さを予測できません。名前が長い場合、この高さでは不十分です。

したがって、フラグメントの高さを wrap_content として設定し、スクロールできるようにする必要があります。これどうやってするの?

4

1 に答える 1

0

これについては、すでに SO に関するいくつかの質問があります。完全な答えはないようですが、いくつかの指針があります。それらを検索してください。一例:

Androidの複数のリストビューでのスクロール

于 2012-11-05T09:54:40.473 に答える