ListView标题占据一个位置有充分的理由吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ListView标题占据一个位置有充分的理由吗?相关的知识,希望对你有一定的参考价值。
我刚刚在ListView中添加了一个标题,我必须更改一堆代码,因为标题基本上变为位置0(意味着我的CursorAdapter的Cursor索引与列表的标记不对齐。它们关闭了1现在)。为什么?这对我来说似乎有点傻。
我能想出的唯一原因是开发人员可能想要访问标题。精细。提供类似getListView()。getHeader()的东西。
由于某种原因,position
(来自onItemClick
)与ListView
(不是适配器)中的项目数量捆绑在一起,包括页眉和页脚。当您设置OnItemClickListener
时,您应该通过调用listView.getItemAtPosition(position)
而不是adapter.getItem(position)
来检索单击的项目。
事实上,你应该总是使用getItemAtPosition
,因为如果你的ListView
有页眉和页脚,这种方式无关紧要,如果你添加新的标题,你将不需要更改你的代码。
如果您不希望您的标题可选,您应该以这种方式添加它:listView.addHeaderView(headerView, null, false)
。
我相信ListView
只不过是一个View
元素列表。如果你为ListView
添加一个标题(或者这个问题的页脚,它应该没有任何区别),那个元素与通过ListAdapter
自动添加的任何其他元素基本没有区别。唯一的细微差别是标题(和页脚)元素将被修复并且不受ListAdapter
对列表的影响 - 它们仍然只是普通元素。
以上是关于ListView标题占据一个位置有充分的理由吗?的主要内容,如果未能解决你的问题,请参考以下文章
将异步 API 转换为同步 API。 (我有充分的理由保证)
是否有任何陷阱或充分的理由不使用 autosproc 进行存储过程调用?