0

我需要实现具有多个标题的列表视图,并且每个标题下的列表项都不同。

例如第一个标题名称是天气,在这个标题下,每个列表项都有城市名称和当前温度。第二个标题名称是联系人,该标题下的每一项包含人名、联系人号码、呼叫图标、消息图标等。

任何人都可以知道如何在android中实现这个吗?

谢谢明杜斯

4

5 回答 5

2

为了在 ListView 中实现多个标题和不同的布局,您应该使用Section ListView

部分就像标题

你可以膨胀不同的布局。这里给出了微笑的例子链接

在此处输入图像描述

对于完整的源代码,请通过以下链接。

http://amitandroid.blogspot.in/2013/05/android-section-listview.html

于 2013-05-28T07:07:21.133 回答
1

据我所知,ListView 可以有多个标题,但您无法将它们定位在您想要的位置。所有这些都将位于顶部http://developer.android.com/reference/android/widget/HeaderViewListAdapter。 html

我建议您使用分隔符。这也可以帮助您https://github.com/commonsguy/cwac-merge 有了这个MergeAdapter,您可以按照您想要的任何顺序插入适配器和视图,然后将它们作为单个适配器呈现给列表视图因此,您可以实现多个标题模拟。

于 2013-05-28T07:05:56.593 回答
0

您必须为每种类型的单元格进行不同的布局(天气分开,联系人分开),您还必须覆盖列表视图的 getView 方法,并且在需要时,只需为单元格设置所需的视图即可对其进行更新。

于 2013-05-28T12:20:40.713 回答
0

谢谢大家,最后我得到了两个不同的列表视图和单独的线性布局。并在每个线性布局中使用 textview 作为标题。

于 2013-05-29T11:14:19.777 回答
0

我建议不要对整个部分使用直线布局。

对于标题和列表,我会推荐一个 MergedAdapter,https: //github.com/commonsguy/cwac-merge ,或者自己动手。

对于多种单元格布局类型,listviewadapter 支持以下 BaseAdapter 方法

getItemViewType(int position)
getViewTypeCount()

这允许您指定正在使用多少种不同类型的布局,然后适当地回收布局。

于 2013-05-29T11:51:50.127 回答