Android ListView addHeaderView()、addFooterView()和变更列表
addHeaderView()、addFooterView()
addHeaderView()和addFooterView()是用于在给ListView设置Adapter之前在列表中添加或删除一些元素。
主要有以下几点注意事项:
- 两个方法必须在setAdapter()之前调用。如果之前调用过addHeaderView()或addFooterView(),在setAdapter(A)时,真正设置的是另一个adapter B,把之前预添加的元素和A中的元素统一由B来管理。
- 多次调用addHeaderView(),后插入的位于先插入的之后,因此,属于尾插法。addFooterView()同理。
- 在头部添加的元素会把原来A中的元素向后挤,即使用addHeaderView()添加两个元素后,原来位于Adapter A中position = 0的元素,现在的position可能是2了。
变更列表项
已经展示的列表需要变更(添加、删除等)时,要对其数据源做添加/删除,然后对适配器调用notifyDataSetChanged()方法让适配器进行刷新列表。