我正在尝试在leanback GridLayoutManager(androidx.leanback.widget.GridLayoutManager)中找到第一个可见项目位置。我知道如何使用gridView.findFirstVisibleItemPosition()为常规androidx.recyclerview.widget.GridLayoutManager做这个。然而,对于leanback它不起作用,我得到错误“无法访问GridLayoutManager:它是public / package / in androidx.leanback.widget”如果我尝试访问它。谢谢。
我无法找到原始问题的答案,但我发现类似的东西解决了我的问题,可能对希望在leanback网格视图中找到位置的人有所帮助。
recyclerView?.clearOnScrollListeners()
recyclerView?.addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
val focusedChild = recyclerView.layoutManager?.focusedChild
if (focusedChild != null) {
mScrolledPosition = recyclerView.getChildAdapterPosition(focusedChild)
}
}
})