0

我创建了一个自定义选项卡导航器,现在我需要知道如何使用多个接收自定义适配器的 ListView。

当我需要使用自定义适配器时,我创建了一个ListViewwithid=android:list并将类设置为 Extends ListActivity。但是现在我觉得我做不到...

4

2 回答 2

3

要在单个活动上拥有多个 listView,不需要扩展 ListActivity。只需将普通 ListViews 添加到 xml lauyout 文件并在活动中引用它们并设置所需的适配器。

示例:xml 文件

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

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

关于活动:

setContentView(R.layout.xmlfile)...

ListView lv1 = (ListView) findViewById(R.id.list_view1);
ListView lv2 = (ListView) findViewById(R.id.list_view2);

lv1.setAdaper(new CustomAdapter1());
lv2.setAdaper(new CustomAdapter2());
于 2012-06-26T10:10:04.383 回答
1

@努诺·贡萨尔维斯

XML 文件中的一个小错误/优化:

在 ListViews 的情况下,最好将layout_heightlayout_width属性定义为fill_parent并使用属性对其进行缩放layout_gravity。将layout_heightListView 设置wrap_content为不是最佳的,可能会导致错误或性能问题。

但是您的解决方案将在这种情况下起作用:)

例子:

<ListView android:id="@+id/list_view1" 
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:layout_gravity="1">
 </ListView>

<ListView android:id="@+id/list_view2" 
 android:layout_width="fill_parent"
 android:layout_height="fill_parent" 
 android:layout_gravity="1">
 </ListView>
于 2012-06-26T11:19:06.677 回答