簡體   English   中英

如何檢測特定項目何時到達Android中的RecyclerView?

[英]How do I detect when a specific item reaches top of a RecyclerView in Android?

我正在使用RecyclerView創建一個包含問題列表的應用程序。 在相同的父布局中,我在RecyclerView上方有一個靜態TextView,它顯示一組問題的說明。 我想要的是在滾動時每當特定問題到達RecyclerView的頂部時更改TextView中的文本。 我怎么能做到這一點?

您需要收聽RecyclerView的滾動並將第一個項目顯示在屏幕上。

謝天謝地,Android讓我們將自定義ScrollListener設置為RecyclerView,使用LayoutManager,您可以知道首先顯示哪個項目:

// initialize your RecyclerView and your LayoutManager
mLinearLayoutManager = new LinearLayoutManager(getContext());
mRecyclerView.setLayoutManager(mLinearLayoutManager);

// set a custom ScrollListner to your RecyclerView
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
           // Get the first visible item
           int firstVisibleItem = mLayoutManager.findFirstVisibleItemPosition();

           //Now you can use this index to manipulate your TextView

        }
    });

編輯:添加關於LayoutManager的Mateus Gondim清除

您應該覆蓋默認的Recycler.OnScrollListener。 看看這個代碼: https//gist.github.com/mipreamble/b6d4b3d65b0b4775a22e

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM