ListView getChildAt

    问题:

        ListView显示一屏的时候,操作(删除)都是正确的,但是超过一屏的时候,操作就会出问题,程序会崩溃.

    方法:

        单步调试发现是在getChildAt函数返回的View为NULL,导致程序崩溃.

        开始以为是因为Adapt出错了,后来看看没有问题,就直接查找的Android 源代码,后来发现对getChildAt(int position) 中的参数理解错了,参数中的position是显示的Item里面的第几个,不是整个Item里面的第几个,就是说position是当前可见区域的第几个元素,找到问题,就想解决办法:

            我们一般能得到我们操作的Item在整个Item中的位置P1,那么减去显示区域中第一个Item在整个Item中的位置P2,就是我们所要的potision,后来发现有这个API,高兴坏了,ListView的getFirstVisiblePosition(),返回的就是P2,position = P1 - P2就是我们要的值,OK 搞定!继续敲.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值