0

我有一個RecyclerView,首先向下滾動,現在當我們向上滾動時,它達到最高點。我想檢測一下,有什麼辦法嗎?我有AppBar,其高度大於設備寬度。所以它會導致滾動。我認爲通過獲得頂部到達偵聽器手動擴展AppBar,以避免一扔。檢測RecyclerView的頂部?

if (layoutManager.firstCompletelyVisibleItemPosition() == 0) { 
    //this is the top of the RecyclerView 
    } 

這個代碼我已經使用,但我的問題是,我不能把這個代碼後,向上滾動RecyclerView。因爲我的RecyclerView使用帶有3列的GridLayoutManager。

+0

的可能的複製[?如何知道是否RecyclerView/LinearLayoutManager滾動到頂部或底部] (http://stackoverflow.com/questions/27841740/how-to-know-whether-a-recyclerview-linearlayoutmanager-is-scrolled-to-top-or-b) –

+0

我已編輯我的問題 –

回答

4

如果你有你的RecyslerView,你可以用它來尋找第一個可見項的LinearLayoutManager集:

LinearLayoutManager layoutManager=new LinearLayoutManager(this); 
recyclerview.setLayoutManager(layoutManager); 

if (layoutManager.firstCompletelyVisibleItemPosition() == 0) { 
    //this is the top of the RecyclerView 
} 
+0

這段代碼我已經使用,但我的問題是,我不能向上滾動RecyclerView後這個代碼。因爲我的RecyclerView使用帶有3列的GridLayoutManager。 –

+4

正確的方法名稱是'findFirstCompletelyVisibleItemPosition'我猜 –

+0

'findFirstCompletelyVisibleItemPosition'將不起作用,如果您的項目比您的屏幕大(可以輕鬆地在小設備上發生) – Katharina

相關問題