当前在RecyclerView中的可见项目
我想在垂直线性布局(RecyclerView)中找到当前可见的项目/项目,以便我可以将Exoplayer附加到最顶端的元素而不是所有项目。甚至在能见度上播放该项目。我无法找到任何想法来执行此操作。当前在RecyclerView中的可见项目
这应该在片段或适配器中处理。
谢谢,我是Android开发新手。
在LinearLayoutManager中,您可以使用一些他们可以提供帮助的方法。
layoutManager.findFirstVisibleItemPosition();
layoutManager.findFirstCompletelyVisibleItemPosition();
layoutManager.findLastVisibleItemPosition();
layoutManager.findLastCompletelyVisibleItemPosition();
这些返回位置为整数。您可以使用如下:
LinearLayoutManager layoutManager = ((LinearLayoutManager) recyclerView.getLayoutManager());
int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition();
但是你要注意的是,在某些情况下,某些设备findFirstVisibleItemPosition()不是为我工作稳定。例如,它在索尼,LG和三星设备上工作,但是相同的代码,并未在Nexus 5上工作。我不知道为什么它不起作用,但是由于这个错误,我改变了我的方法。
你选择了什么方法? – user1590595
@ user1590595这是关于使用CollapsableToolbarLayout滚动消费行为的另一个复杂功能。我设法解决这个自定义的投掷行为。我不认为这与你的情况有关。它需要太多解释。 –
你有几个元素?也许最好使用'RecyclerView'而不是'LinearLayout'?顺便说一句,为什么你在这种情况下有Adapter? – pxsx
我有RecyclerView垂直线性布局。 – user1590595