• 欢迎访问,如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

关于 PullToRefreshListView使用时下标越界的问题

Android 码拜 3年前 (2017-04-28) 283次浏览
   假设本人有10条数据,使用ListView装载数据 本人选择到最后一条点击后查看详情 一切正常关于 PullToRefreshListView使用时下标越界的问题
但是 使用PullToRefreshListView后 再 点击最后一条时 会报数组下标越界,输出的下标是 10。关于 PullToRefreshListView使用时下标越界的问题
大家都知道下标冲0开始 假如本人减去1是可以 那么假如是只有一条数据时怎么办?加个判断?虽然可以解决 但是本人觉得这个办法很有问题,不知道有哪位又遇到过同样的问题 能给予点思路[/i]关于 PullToRefreshListView使用时下标越界的问题
谢谢大家的关注
解决方案

10

其实你打个log很容易就会发现了。 PullToRefreshListView 你看它的内部源码就会知道,你监听的条目点击事件position 需要做减1处理才能和你的条目索引匹配

10

PullToRefreshListView是继承子ListView的,ListView有一个机制,添加一个headview或footView都会使得item的数目加一,所以你需要在onItemClick中position减一。
例如你size为10,添加一个headView后,size就是11了,你点击最后一个的position就是10而不是9,这样理解了吗

6

引用:

PullToRefreshListView是继承子ListView的,ListView有一个机制,添加一个headview或footView都会使得item的数目加一,所以你需要在onItemClick中position减一。
例如你size为10,添加一个headView后,size就是11了,你点击最后一个的position就是10而不是9,这样理解了吗

忘记说了,PullToRefreshListView的下拉刷新就是添加了一个headView,所以size会加一

2

PtrFramelayout可能现在更适合

2

楼上正解,PullToRefreshListView在ListView的基础上增加了个HeadView,所以在OnItemClickListener里面取position需要+1

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于 PullToRefreshListView使用时下标越界的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)