在一个活动中使用两个listView

时间:2012-04-03 02:40:06

标签: java android eclipse

我制作了一个包含两个孩子的列表视图。现在我正试图为这两个孩子中的每一个追加一系列孩子。

我正在使用以下程序。

super.onCreate(savedInstanceState);
            setContentView(R.layout.report_main_layout);


            CharSequence[] dummyChar = {"a","b"};

            listView = (ListView) findViewById(R.id.UIMainAccountListView);
            adapter = new CustomArrayAdapterOfMainList(this, dummyChar);
            listView.setAdapter(adapter);

在自定义适配器中,我正在使用以下代码。

 if (position == 0)
        {
            viewHolder.listView = (ListView) view.findViewById(R.id.UIReportTrialBalanceListView);
            adapter = new CustomArrayAdapterForChildList(context, debitAccounts,sumDebit);
            viewHolder.listView.setAdapter(adapter);
        }
        else
        {
            viewHolder.listView = (ListView) view.findViewById(R.id.UIReportTrialBalanceListView);
            adapter = new CustomArrayAdapterForChildList(context, creditAccounts, sumCredit);
            viewHolder.listView.setAdapter(adapter);
        }

我得到的就是这样,我想扩展它以便所有帐户显示,列表视图应该wrap content但它不包装内容

This is the image

2 个答案:

答案 0 :(得分:1)

这将堆叠两个列表视图并强制它们占用其父级的一半。

<LinearLayout 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent"
  android:orientation="vertical"
  android:weightSum="2">
  <ListView 
      android:id="@+id/list1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"
      android:layout_weight="1"/>
  <ListView 
      android:id="@+id/list2" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"
      android:layout_weight="1"/>
</LinearLayout>

您可以通过为每个列表视图设置android:cacheColorHint="@android:color/transparent"来删除缓存颜色

答案 1 :(得分:1)

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:paddingBottom="20sp" >

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

        <ListView
            android:id="@+id/child2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/child1" />

    </RelativeLayout>

第一个child1 listview的第二个child2 listview上面的布局

谢谢