如何知道第一个或当前屏幕/页面的最后一个回收器视图项已加载,任何回调但被调用一次?



我正在使用 recyclerView 的网格布局,并使用 onLayoutCompled 方法和 onScollListner 方法尝试了几个选项,尝试了这个答案,但它是多次调用,因为每个项目不断加载,没有任何效果。

只是想检测特定屏幕的最后一个回收器视图项是否完全加载或根据其屏幕大小对用户可见或者我们可以说,当用户当前屏幕充满回收器视图项时,有什么方法可以检测到吗?ANd 只能调用一次。任何帮助都会很棒。
感谢您的宝贵时间。

您可以使用Sharedpref值,该值可以根据您的条件在onScrollStateChanged方法中设置为 true。

@Override
public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
if (newState != RecyclerView.SCROLL_STATE_IDLE) {
return;
}
boolean isLastPositionVisible = mFollowingLayoutManager.findLastVisibleItemPosition() == getList().size() - 1
if(isLastPositionVisible && getSharedPrefValue()) {
// Call your method
// Set sharedpref value to true.
}
}

相关内容

最新更新