如何在子ListView中使用cwac-merge-1.0.4 jar显示所有列表项

时间:2014-12-18 04:45:34

标签: android listview android-arrayadapter commonsware-cwac

我在同一个屏幕上使用两个ListView,因为使用了两个Listviews可能Parent ListViewChild ListView,所以Child ListView Adapter类并未显示所有内容Child ListView.It中的列表值在Child ListView中仅显示0 th(first)位置,针对上述问题,我使用了此Android list view inside a scroll view链接中的答案代码。现在我可以看到{{1}中的所有列表值但是我没有在Child ListView抓取的同一时间显示我的所有列表值。它仅在列表中显示第一个值,因为列表视图高度设置为列出单个项目的高度。如果我向下滚动Child ListView我能够看到ListView中的所有值。我需要的是如果我从Web服务获得五个列表值它必须同时显示所有五个项目。

注意:如果我为List设置了硬编码值,它一次显示Child ListView中的所有项目。

被修改

我是如何使用MergeAdapter

实现的

这个Web service call方法会返回createAdapter个对象,我已使用Adapter

将该适配器设置到我的Listview中
setAdapter(createAdapter(new ArrayList<T>()))

我需要的是

我被建议使用 private ListAdapter createAdapter(List<T> items) { mergeAdapter = new MergeAdapter(); mergeAdapter.addAdapter(endlessFeedAdapter); return mergeAdapter; } 而不是ExpandableListView。 如果我使用two ListViews,我必须将ExpandableListView方法返回类型更改为createAdapter,因为我在下面使用了代码

ExpandableListAdapter

但它显示了以下 private ExpandableListAdapter createAdapter(List<T> items) { mergeAdapter = new MergeAdapter(); mergeAdapter.addAdapter(endlessFeedAdapter); return (ExpandableListAdapter) mergeAdapter; }

Excaption 来自Web服务的值

enter image description here enter image description here

硬编码值

enter image description here

1 个答案:

答案 0 :(得分:2)

什么阻止您制作2个不同的适配器并将它们添加到MergeAdapter?您可以向MergeAdapter和多个视图添加多个适配器。在这种情况下,不需要使用2个Listviews。

mergeAdapter.addAdapter(adapterHeading);
mergeAdapter.addView(someView);
mergeAdapter.addAdapter(adapterFooter);
listView.setAdapter(mergeAdapter);