android view回调,android-Recyclerview:完全可见时回调视图

本文介绍如何在Android RecyclerView中高效地实现当用户滚动到‘桃子’时记录Log,避免频繁计算。使用`OnScrollListener`结合`findFirstCompletelyVisibleItemPosition()`或`findLastCompletelyVisibleItemPosition()`方法,降低性能开销,适合低端设备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是用例:

我有5个食物imageviews的recyclerview列表:

>西瓜

>芒果

>桃子

>苹果

>番石榴

我想记录一个输出(Log.e(TAG,“显示了桃子!”),当用户滚动通过它时,桃子图像视图在recyclerview中完全可见.

Called when a view is attached to the RecyclerView.

可以在实际显示视图之前附加附件.

我可以想到一种效率极低的方法:

>在您的recyclerview上设置RecyclerView.OnScrollListener

>在onScrolled方法内调用mLinearLayoutManager.findFirstCompletelyVisibleItemPosition().检查返回等于3的int.

每次recyclerview滚动时,将执行数百次计算.

解决方法:

正如您提到的,您实际上应该在onScrolled()方法中处理它. findFirstCompletelyVisibleItemPosition()方法非常有效,所进行的计算不会影响大多数设备,包括低端设备.

附带说明一下,我认为您想要的是findLastCompletelyVisibleItemPosition()方法.

去过也做过 :-)

标签:android-recyclerview,listener,android

来源: https://codeday.me/bug/20191119/2036342.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值