0

以下のような配置になっています。2 つの listView と、画像とテキストを含むヘッダー。下部にボタンがあります。私の問題は、最初のリストビューが高さになっている場合、他のリストビューとボタンが表示されないことです。ヘッダーと ListViews を含む scrollview を作成したかったのですが、うまくいきませんでした。どのようにできるのか?ありがとう

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:src="@drawable/icon" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:layout_marginLeft="5dp"
            android:text="@string/Dep"
            android:textColor="@color/white" />

    </LinearLayout>
</LinearLayout>

<ListView
    android:id="@+id/listView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
</ListView>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/Orange"
    android:gravity="center"
     >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:src="@drawable/icon2" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:textSize="18sp"
            android:layout_marginLeft="5dp"
            android:textColor="@color/white" />
    </LinearLayout>
</LinearLayout>

<ListView
    android:id="@+id/listView2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
</ListView>

 <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center"
    android:layout_margin="10dp" >

    <Button
        android:id="@+id/btn1"
        android:layout_width="0dp"
        android:layout_height="55dp"
        android:layout_margin="5dp"
        android:layout_weight=".3"
        android:gravity="bottom|center_horizontal"
        android:textSize="16sp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/btn2"
        android:layout_width="0dp"
        android:layout_height="55dp"
        android:layout_margin="5dp"
        android:layout_weight=".7"
        android:text="@string/Continue"
        android:textColor="@color/white"
        android:textSize="24sp"
        android:textStyle="bold" />
</LinearLayout>
4

5 に答える 5

2

ListView are scrollable views in android, if you want to include two Listviews on single screen, you can do by fixing height of parents of these views. for Example, in below code, I have fixed the height of linearlayouts containing listviews, you can use weight to arrange all the views according to screen height.

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:src="@drawable/icon" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textStyle="bold"
                android:layout_marginLeft="5dp"
                android:text="@string/Dep"
                android:textColor="@color/white" />

        </LinearLayout>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="100dip"
        >
    <ListView
        android:id="@+id/listView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
    </ListView>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/Orange"
        android:gravity="center"
         >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:src="@drawable/icon2" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textStyle="bold"
                android:textSize="18sp"
                android:layout_marginLeft="5dp"
                android:textColor="@color/white" />
        </LinearLayout>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="100dip"
        >
    <ListView
        android:id="@+id/listView2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
    </ListView>
    </LinearLayout>
     <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center"
        android:layout_margin="10dp" >

        <Button
            android:id="@+id/btn1"
            android:layout_width="0dp"
            android:layout_height="55dp"
            android:layout_margin="5dp"
            android:layout_weight=".3"
            android:gravity="bottom|center_horizontal"
            android:textSize="16sp"
            android:textStyle="bold" />

        <Button
            android:id="@+id/btn2"
            android:layout_width="0dp"
            android:layout_height="55dp"
            android:layout_margin="5dp"
            android:layout_weight=".7"
            android:text="@string/Continue"
            android:textColor="@color/white"
            android:textSize="24sp"
            android:textStyle="bold" />
    </LinearLayout

>
于 2012-12-06T05:49:24.670 に答える
0

1 つのアクティビティで 2 つのリストビューが必要な理由はわかりませんが、上記のコードは、リストビューの高さを指定しない場合にのみ役立ちます。MergeAdpterを使用して、より洗練されたクールなリスト ビューを作成できると思います。こちらをご覧ください。

于 2013-04-03T06:14:56.657 に答える
0

私は次のように私の問題を解決しました:

リストビューのアクティビティでこのコードを使用しました:

HelperScrollView.getListViewSize(listview);

これはクラスです:

public class HelperScrollView 
{
public static void getListViewSize(ListView myListView) {
    ListAdapter myListAdapter = myListView.getAdapter();
    if (myListAdapter == null) {
        //do nothing return null
        return;
    }
    //set listAdapter in loop for getting final size
    int totalHeight = 0;
    for (int size = 0; size < myListAdapter.getCount(); size++) {
        View listItem = myListAdapter.getView(size, null, myListView);
        listItem.measure(0, 0);
        totalHeight += listItem.getMeasuredHeight();
    }
  //setting listview item in adapter
    ViewGroup.LayoutParams params = myListView.getLayoutParams();
    params.height = totalHeight + (myListView.getDividerHeight() * (myListAdapter.getCount()));
    myListView.setLayoutParams(params);

}

}

レイアウトのスクロールビューにリストビューを使用できます。

于 2013-04-03T08:40:28.527 に答える
0

このようにして、2つのリストビューを使用できます...

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginBottom="10dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp" >

     <ListView
        android:id="@+id/lst_payment"
        android:layout_width="fill_parent"
        android:layout_height="100dp"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="5dp"
        android:scrollbars="none" >

    </ListView>

    <ListView
        android:id="@+id/lst_bank"
        android:layout_width="fill_parent"
        android:layout_height="100dp"
        android:layout_below="@+id/lst_payment"
        android:layout_marginTop="5dp"
        android:fadingEdge="none"
        android:scrollbars="none" >
    </ListView>
</RelativeLayout
于 2012-12-06T05:51:57.333 に答える
0

2 番目のリスト ビューが表示されない理由は、線形レイアウトの向きを設定していないためです。向きを垂直に設定すると、表示されます。

于 2012-12-06T05:57:07.923 に答える