Android ListView HeaderView和FooterView引出的Position问题


    在ListView中getView返回的position是包含HeaderView 和 FooterView。并不是从除去HeaderView以外第一个Item 为Position = 0的所以使用这个位置的时候都需要考虑到造成偏移,FooterView存在同样的问题。


什么情况下会出现问题,即位置偏移问题?
可以分析下HeaderViewListAdapter,从中查看下原因
getCount
getItem
getItemId
getView
getItemViewType

其中getCount返回的是包含HeaderView和FooterView。
其他几个方法中的position都排除了HeaderView和FooterView。


除去这几个方法,其他跟位置有关的方法都会直接包含HeaderView和FooterView
例如:getFirstVisible() getLastVisible没有被覆写,所以这两个方法是从HeaderView第一个view算作position = 0


参考资料:

Header, Footer位置偏移
http://blog.chengbo.net/2012/03/09/onitemclick-return-wrong-position-when-listview-has-headerview.html




你可能感兴趣的:(Android ListView HeaderView和FooterView引出的Position问题)