【Android】日常开发中常见的坑,新手必看

1.ListView中的坑在我们使用ListView的addHeaderView方法时,如果此时你同时设置了ListView的OnItemClickListener监听事件时,你一定会发现onItem

by
江江
on
2016/08/31

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方法之前调用,否则会报错

江江江江于 2026-10-15 14:59:49 修改阅读 653评论 0点赞 0