问题描述
今天发现使用listView的一个问题,当我们给listView添加headView或footView的时候,如果我们没给listView设置adapter或者给listView设置的空的adapter即setAdapter(null)
,这个时候listView不会显示我们设置的headView或者footView
原因:
谷歌api文档说在调用
addHeaderView
或addFooterView
方法之前先得调用setAdapter
,即“Call this before calling setAdapter”移除headView或者footView:在调用
removeHeaderView
或者removeFooterView
移除headView或者footView的时候,应该在setAdapter
之后具体为什么是这样,以后有空看了源码后补上
问题解决
给listView设置adapter且adapter不为null(给个空的实现也行,即让adaper继承BaseAdapter,然后给个空的实现),否则添加的headView或footView不会显示