如何知道何时显示“回收器视图中的布局中的特定视图”



>我有一个复杂的布局,正在回收器视图中使用。所以我想知道何时显示某些特定视图,例如标题文本视图。

这个回收器视图在ViewPager中。因此,仅当显示ViewPager的子项时,我才需要回调。

因此,我想要分析已显示回收视图项的分析。

我如何实现这一点?有没有相同的回调方法?或者我只需要为视图添加 layoutChangeListener 或 addOnGlobalLayoutListener,并通过检查该视图的 Rect 来检查该特定视图是否显示。

试试这个方式:

private static int firstVisibleInListview;firstVisibleInListview = yourLayoutManager.findFirstVisibleItemPosition((;

在滚动侦听器中:

 public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
    super.onScrolled(recyclerView, dx, dy);
    int currentFirstVisible = yourLayoutManager.findFirstVisibleItemPosition();
    if (currentFirstVisible > firstVisibleInListview) {
        Log.i("RecyclerView scrolled: ", "scroll up!");
    } else {
        Log.i("RecyclerView scrolled: ", "scroll down!");
    }
    firstVisibleInListview = currentFirstVisible;
}

与您可以获得的最后一个可见项目相同。

谢谢

最新更新