我是Android的初学者,但令人惊讶的是,我没有在线找到该问题的解决方案。
我在RecyclerView中有1个(问题的)textview,并且我正在使用适配器将n个问题绑定到其中。
假设我在recyclerView中总体上有20个问题,我将如何获取当前屏幕底部的元素的位置(不是最后一个问题,而是当前屏幕底部的问题的位置。查看加载)?
问题的长度将是动态的,因此在第一次加载时,相同的第n个问题始终不会出现在屏幕底部。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linear_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:focusable="true"
android:orientation="vertical">
<TextView
android:id="@+id/questionviewelement"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:fontFamily="@font/opensans_semibold"
android:textColor="@color/color_question"
android:textSize="@dimen/settings_act_box_question_font_size" />
</LinearLayout>
和recyclerview
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
android:scrollbarThumbVertical="@color/white"
android:scrollbarSize="2.5dp"
android:fadeScrollbars="false"
android:requiresFadingEdge="vertical"
android:fadingEdgeLength="75dp">
</android.support.v7.widget.RecyclerView>
任何帮助,将不胜感激!谢谢!
最佳答案
您是否尝试过这行代码?
GridLayoutManager layoutManager = ((GridLayoutManager)mRecyclerView.getLayoutManager());
int lastVisiblePosition = layoutManager.findLastVisibleItemPosition();