1.ListView中的坑
在我们使用ListView的addHeaderView方法时,如果此时你同时设置了ListView的OnItemClickListener监听事件时,你一定会发现onItemClick方法中的position参数返回不准确的问题,此时我们可以这样。
onItemClick(AdapterView<?> parent, View view, int position, long id)
在 addHeaderView的时候有一个这样的方法:
addHeaderView(View v, Object data, boolean isSelectable)
其中第一个参数v就是我们需要显示的视图对象,第二个参数data 是与视图相关的数据对象,但三个参数isSelectable就是关键了,它决定了是否触发onItemClick方法,默认是true所以会导致position位置不正确。
所以解决办法是:
addHeaderView(view,null,false);
这样就可以了,此外还有一点得注意addHeaderView必须要在setAdapter方法之前调用,否则会报错