RecyclerView中的当前可见项目

时间:2017-04-02 14:40:19

标签: android android-layout android-recyclerview exoplayer

我想在垂直线性布局(RecyclerView)中找到当前可见的项目/项目,这样我就可以将Exoplayer附加到最顶层元素而不是所有项目。甚至在可见度上播放该项目。我无法对此实现这一点。

是否应在Fragment或Adapter中处理。

谢谢,我是Android开发的新手。

1 个答案:

答案 0 :(得分:0)

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

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

这些返回整数位置。你可以使用如下:

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

但是你应该注意到,在某些情况下,某些设备中的 findFirstVisibleItemPosition()对我来说不起作用。例如,它在索尼,LG和三星设备上工作,但相同的代码,在Nexus 5上没有工作。我不确定它为什么不起作用,但我改变了我的方法,因为这个错误。