我需要实现带有多个标题的listview,每个标题下的列表项都不同。
例如,第一个标题名称是weather,在此标题下,每个列表项都有城市名称和当前温度。 第二个标题名称是contact,此标题下的每个项目包含人名,联系电话,呼叫图标,消息图标等。
有人知道如何在android中实现这个吗?
由于 Mindus
答案 0 :(得分:2)
为了在ListView中实现多个标题和不同的布局,您应该使用 Section ListView
部分就像标题
你可以膨胀不同的布局。这里给出了Smiler示例Link
有关完整源代码,请浏览以下链接。
http://amitandroid.blogspot.in/2013/05/android-section-listview.html
答案 1 :(得分:1)
据我所知,ListView可以有多个标题,但你无法在你想要的位置找到它们。所有标题都位于顶部http://developer.android.com/reference/android/widget/HeaderViewListAdapter.html
我建议你使用分隔符。这也可以帮助你https://github.com/commonsguy/cwac-merge
使用此MergeAdapter
,您可以按照您想要的顺序插入适配器和视图,然后将它们作为单个适配器呈现给列表视图,从而可以实现多个标头模拟。
答案 2 :(得分:0)
你必须为每种类型的单元格制作不同的布局(分别针对天气和单独的联系人),你必须覆盖列表视图的getView方法,并根据需要,只需设置所需的单元格以更新它
答案 3 :(得分:0)
谢谢大家,最后我得到了两个不同的listview和单独的linearlayouts。并在每个线性布局中使用textview作为标题。
答案 4 :(得分:0)
我建议不要对整个部分使用直线型布局。
对于标题和列表,我建议使用MergedAdapter,https://github.com/commonsguy/cwac-merge,或推荐自己的。{/ p>
对于多个单元格布局类型,这可以通过BaseAdapter中的以下方法在listviewadapter中得到支持
getItemViewType(int position)
getViewTypeCount()
这允许您指定正在使用的布局类型,然后适当地回收布局。