当前位置: 首页 > 知识库问答 >
问题:

Android-检测RecyclerView中的最后一个项目是否可见

严烨
2023-03-14

我有一个方法,它将检查RecolyerView中的最后一个元素是否被用户完全可见,到目前为止,我有这段代码,问题是如何检查RecolyerView是否到达了它的底部?

PS我有项目分隔符

public void scroll_btn_visibility_controller(){
    if(/**last item is visible to user*/){
        //This is the Bottom of the RecyclerView
        Scroll_Top_Btn.setVisibility(View.VISIBLE);
    }
    else(/**last item is not visible to user*/){
        Scroll_Top_Btn.setVisibility(View.INVISIBLE);
    }
}
boolean isLastVisible() {
    LinearLayoutManager layoutManager = ((LinearLayoutManager)rv.getLayoutManager());
    int pos = layoutManager.findLastCompletelyVisibleItemPosition();
    int numItems =  disp_adapter.getItemCount();
    return (pos >= numItems);
}
public void scroll_btn_visibility_controller(){

    if(isLastVisible()){
        Scroll_Top.setVisibility(View.VISIBLE);
    }
    else{
        Scroll_Top.setVisibility(View.INVISIBLE);
    }
} 
int pos = layoutManager.findLastCompletelyVisibleItemPosition();
int numItems =  disp_adapter.getItemCount();

共有1个答案

尚嘉庆
2023-03-14

尝试使用OnScrollStateChanged它将解决您的问题

 类似资料:
  • 我有一个活动,其中包含水平回收视图,显示从服务器检索到的电影图标 当用户将回收器视图滚动到其末尾时 - 使回收器视图的最后一项可见,我想显示“更多”按钮以允许加载其他图标 当用户滚动到回收器视图的末尾时,我如何获得指示?

  • 我正在尝试添加滑动删除功能,以及在长按RecyclerView项时显示底部工作表弹出窗口。我正在使用用于滑动删除,以及用于长按项目时显示弹出窗口。问题是,当我刷项目删除其也检测长按。我想要的是,当物品被刷卡时,它应该忽略长按。我有一个ItemTouchHelper类,它扩展了Simplecallback以进行滑动删除。以下是附加recyclerview以便刷卡删除的代码。 下面是为长点击事件添加监

  • 问题内容: 使用标准列表,我尝试选择最后2个列表项。我有多种排列方式,但似乎没有什么可以选择最后2种: 我知道类似CSS3的新选择器,但如果可能的话,我更喜欢一些可以在更多浏览器中使用的选择器(不必特别在意IE)。 问题答案: 这将选择列表的最后两个项目:

  • Picasso只在我的RecolyerView中的最后一个项目上加载缩略图。我使用了firebase RecolyerAdapter;这就是它看起来的样子 如我的代码所示,我将用户名文本设置为图像url以检查真正发生了什么,令我惊讶的是,图像url被正确地检索到了每个ItemView。 这是日志 @覆盖公共视图onCreateView(LayoutInflater inflater,ViewGro

  • 有没有办法防止分割器显示在最后一个项目之后?

  • 我的Android应用程序有一个带有PagerSnapHelper的RecyclizerView。每个项目的宽度和高度与。因此,页面上仅保留 1 个视图项。我有兴趣知道特定视图项何时对用户完全可见。我想对该视图执行一些操作。 我正在使用MpAndroidChart库在每个视图项目中显示图表。我也在为这些图表制作动画。但是,由于 RecyclerView 加载了一些与当前可见视图项相邻的视图项,因此