在RecyclerView中获取可见项目

时间:2017-08-21 12:30:05

标签: android android-recyclerview

如何在RecycerView中获取当前项目?在我的用例RV项目占用所有屏幕空间,因此一次只有一个项目。 我之前尝试过谷歌,但没有找到任何帮助。

整个用例:

  1. UI。底部导航有一个按钮,应该在片段中调用某个方法(比如说foo()方法)

  2. foo()方法应从适配器获取可见项,并在演示者中调用特定方法。

3 个答案:

答案 0 :(得分:3)

在你的代码中使用它

    LinearLayoutManager mLayoutManager;
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);

使用以下代码

获取您的可见项目
mLayoutManager.findFirstVisibleItemPosition();

答案 1 :(得分:1)

您还可以在RecyclerView的ListAdapter上使用OnItemClickListener来确定当前项目。在这种情况下,需要点击该项目。

答案 2 :(得分:0)

我的解决方案

 Expression exp = plainSelect.getJoins().get(i);

结果是:

val position = (recyclerView?.layoutManager as LinearLayoutManager).findFirstVisibleItemPosition()
val product = adapter?.getItemByPosition(position)
FirebaseCrash.logcat(Log.DEBUG, TAG, "onNavClickEvent = $product")
product?.let { productListViewModel?.order(it.id) }