ListView的getFirstVisiblePosition等方法返回的是哪个对象

int firstPosition = lisView.getFirstVisiblePosition();
int lastPosition = lisView.getLastVisiblePosition();
int childCount = lisView.getChildCount();
boolean delResult = lv_list.removeHeaderView(header);

以上三行代码是listView的三个方法

我一直疑惑这三个方法的返回值的含义是什么,和Adapter的关系,现在用举例来解释:

listView的adapter返回的getCount = 100;
listView中第一个可见的item为2,最后一个为13
那么 :
firstPosition = 2;
lastPosition = 13;
childCount = 12;

此时给这个ListView添加 2 个Header
依然把listView滚动到第一个可见的item为2,最后一个为12
那么此时:
firstPosition = 4;
lastPosition = 15;
childCount = 12;

childCount返回的永远是当前屏幕显示的View个数,如果Header被滑动上去,那么这个Count中就没有Header的总数

且:
只有当HeaderView可见时,才会被删除,delResult才会为true。

由此可见,这三个方法不是针对Adapter中的View,而是针对包含Header在内的所有View的值。切记!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值