[英]Android TV - How to implement endless RecyclerView like with Leanback HorizontalGridView
我想不出在我的 Android TV 應用程序中實現分頁的解決方案。 我正在使用 Leanback 支持庫 - HorizontalGridView
來列出項目。 HorizontalGridView
是從RecyclerView
擴展而來的,但它的布局管理器( android.support.v17.leanback.widget.GridLayoutManager
)沒有實現findLastVisibleItemPosition()
方法。
如何為HorizontalGridView
實現分頁。 有沒有辦法監聽HorizontalGridView
到達其內容末尾的事件(或者即使我們使用ListRowPresenter
)?
您可以參考此Endless Scrolling with AdapterViews 和 RecyclerView文檔。 根據本教程,要在用戶向底部滾動時實現獲取更多數據並附加到列表末尾,請使用RecyclerView
的addOnScrollListener()
並利用指南中的EndlessScrollViewScrollListener
文檔添加onLoadMore
方法。
我有完全相同的問題,我認為我們可以使用OnChildViewHolderSelectedListener
:
recyclerView.addOnChildViewHolderSelectedListener(
object : OnChildViewHolderSelectedListener() {
override fun onChildViewHolderSelected(
parent: RecyclerView,
child: RecyclerView.ViewHolder,
position: Int,
subposition: Int
) {
super.onChildViewHolderSelected(parent, child, position, subposition)
if (position != RecyclerView.NO_POSITION) {
parent.layoutManager?.let { layoutManager ->
Logger.d(
"Selected position $position of ${layoutManager.itemCount - 1}"
)
if (position > layoutManager.itemCount - 1 - THRESHOLD) {
Logger.d("Should load more items")
}
}
}
}
}
)
companion object {
private const val THRESHOLD = 3
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.