RecyclerView在项目离开屏幕时获取项目



当对象在滚动时离开屏幕时,如何从recyclerview获取对象?例如,我有note with id 11,当它离开屏幕时,我如何获得这个笔记id?

一种方法:

Boolean upScrolling;  
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
LinearLayoutManager mgr = (LinearLayoutManager) recyclerView.getLayoutManager();
int topPosition = mgr.findFirstVisibleItemPosition();
/// your code
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (dy < 0) {
upScrolling = true;
} else if (dy > 0) {
upScrolling = false;
} 
}
});

向上滚动后,在侦听器中,您将获得第一个可见项目。在您的代码的位置,您编写代码以检查第一个可见项目是否是您想要的项目下方的项目。如果是这种情况,那么你就会得到它从屏幕上消失的时间。已编辑以检查它是向上滚动还是向下滚动。

最新更新