我是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();

10-08 16:15