如何在RecycerView
中获取当前项目?在我的用例RV项目占用所有屏幕空间,因此一次只有一个项目。
我之前尝试过谷歌,但没有找到任何帮助。
整个用例:
UI。底部导航有一个按钮,应该在片段中调用某个方法(比如说foo()
方法)
此foo()
方法应从适配器获取可见项,并在演示者中调用特定方法。
答案 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) }