android-Recyclerview:完全可见时回调视图
作者:互联网
这是用例:
我有5个食物imageviews的recyclerview列表:
>西瓜
>芒果
>桃子
>苹果
>番石榴
我想记录一个输出(Log.e(TAG,“显示了桃子!”),当用户滚动通过它时,桃子图像视图在recyclerview中完全可见.
当视图在recyclerview中完全可见时,是否存在调用的回调?我几乎想将方法findFirstCompletelyVisibleItemPosition()转换为回调方法:http://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager.html#findFirstCompletelyVisibleItemPosition()
我读了这个线程:
RecyclerView – callback when view is no longer visible,然后在此处查看文档http://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnChildAttachStateChangeListener.html,但我看到在以下情况下调用了回调方法onChildViewAttachedToWindow():
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