原文:http://blog.chengbo.net/2012/03/09/onitemclick-return-wrong-position-when-listview-has-headerview.html当ListView实例addheaderView()或者addFooterView后,再通过setAdapter来添加适配器,此时在ListView实例变量里保存的适配器变量与我们传入的适配器变量不是同一个了。具体可参考源码:因此,当有headerView或footerView的时候,要通过getAdapter()获取到适配器,而不是直接使用调用setAdapter是传入的入参。