如何知道何时显示布局中的特定视图在RecyclerView中

问题描述 投票:0回答:1

我有一个复杂的布局,在Recycler View中使用。所以我想知道什么时候显示一些特定的视图,比如标题TextView。

此RecyclerView位于ViewPager中。因此,只有在显示ViewPager的子项时才需要回调。

这样,我想要已经显示了RecycleView项目的分析。

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

android view
1个回答
0
投票

试试这种方式:

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;
}

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

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.