2017-04-02 121 views
0

我想在垂直線性佈局(RecyclerView)中找到當前可見的項目/項目,以便我可以將Exoplayer附加到最頂端的元素而不是所有項目。甚至在能見度上播放該項目。我無法找到任何想法來執行此操作。當前在RecyclerView中的可見項目

這應該在片段或適配器中處理。

謝謝,我是Android開發新手。

+0

你有幾個元素?也許最好使用'RecyclerView'而不是'LinearLayout'?順便說一句,爲什麼你在這種情況下有Adapter? – pxsx

+0

我有RecyclerView垂直線性佈局。 – user1590595

回答

0

在LinearLayoutManager中,您可以使用一些他們可以提供幫助的方法。

layoutManager.findFirstVisibleItemPosition(); 
layoutManager.findFirstCompletelyVisibleItemPosition(); 
layoutManager.findLastVisibleItemPosition(); 
layoutManager.findLastCompletelyVisibleItemPosition(); 

這些返回位置爲整數。您可以使用如下:

LinearLayoutManager layoutManager = ((LinearLayoutManager) recyclerView.getLayoutManager()); 
int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition(); 

但是你要注意的是,在某些情況下,某些設備findFirstVisibleItemPosition()不是爲我工作穩定。例如,它在索尼,LG和三星設備上工作,但是相同的代碼,並未在Nexus 5上工作。我不知道爲什麼它不起作用,但是由於這個錯誤,我改變了我的方法。

+0

你選擇了什麼方法? – user1590595

+0

@ user1590595這是關於使用CollapsableToolbarLayout滾動消費行爲的另一個複雜功能。我設法解決這個自定義的投擲行爲。我不認爲這與你的情況有關。它需要太多解釋。 –

相關問題