关闭

ListView addHeaderView导致item位置不对

标签: listview
287人阅读 评论(0) 收藏 举报
分类:

当LisetView加了headerView后,点击list第一项在

public void onItemClick(AdapterView<?> parent, View view, int position,
                    long id)
方法中的position是等于1的。

因为headerview的pos是0.所以如果在onItemClick里面用position和自己保存的数据来处理就会不对了。

这个方法传了parent进来是有原因的。

通过parent的getAdapter().getItem(position)就能取得正确的元素了。

当listview有headerview的时候,getAdapter()会返回一个HeaderViewListAdapter

这个Adapter其实是包装了我们一开始传进去的adapter。能够返回正确的listview item。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:68436次
    • 积分:1292
    • 等级:
    • 排名:千里之外
    • 原创:55篇
    • 转载:10篇
    • 译文:1篇
    • 评论:20条
    博客专栏
    文章分类