滚动NestedScrollView时如何获取recyclerview的当前项目位置?

时间:2018-12-04 09:48:52

标签: android android-layout android-recyclerview android-nestedscrollview

我在nestedScrollView android中具有回收站视图,如何在滚动nestedScrollView时获取recyclerview的当前项目位置

    <?xml version="1.0" encoding="utf-8"?>
      <android.support.v4.widget.NestedScrollView
       xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/constraintMain"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
       <Linearlayout 
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="wrap_content">
           <ImageView
            android:id="@+id/imageView1"
            android:layout_width="match_parent"
            android:layout_height="55dp"
            android:layout_marginBottom="5dp"
            android:src="@drawable/logo" />


            <android.support.v7.widget.RecyclerView
                    android:id="@+id/recycler_view_all"
                    android:layout_width="match_parent"
                    android:nestedScrollingEnabled="false"
                    android:layout_height="wrap_content"
                    android:scrollbars="vertical" />

        </Linearlayout>

  </android.support.v4.widget.NestedScrollView>
  

addOnScrollListener setOnScrollListener 函数是   不打电话给recyclerview

1 个答案:

答案 0 :(得分:0)

您可以从布局管理器中找到回收站视图的第一个可见项目。

LinearLayoutManager myLayoutManager = myRecyclerView.getLayoutManager();
int scrollPosition = myLayoutManager.findFirstVisibleItemPosition();

其他人

findFirstCompletelyVisibleItemPosition()
findLastCompletelyVisibleItemPosition()

根据需要使用。