如何使用Gridview在Kotlin上进行简单的分页?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Gridview在Kotlin上进行简单的分页?相关的知识,希望对你有一定的参考价值。
我有一个json请求女巫带给我20个偏移和限制http://website.com/myRestApi/getObjects.php?offset=20的对象。我想在每次用户在Gridview上滚动并加载20时调用它,以便在我的android应用程序中创建无限简单的分页样式,直到对象完成!
答案
实际上有一个非常简单的方法,你只需要调用gridView.setOnScrollListener(listener)
,并且在监听器的方法onScroll
中,如果最后一个可见位置等于totalItems,则当前可见位置加载更多项目,总结一下,你这样做:
gridView.setOnScrollListener(object: AbsListView.OnScrollListener {
override fun onScroll(view: AbsListView?, firstVisibleItem: Int, visibleItemCount: Int, totalItemCount: Int) {
if (totalItemCount - visibleItemCount <= firstVisibleItem && adapter.count + ITEM_COUNT <= MAX_ITEM_COUNT) {
//TODO: Add footer or some progress view to show that items are loading
loadMore()
}
}
override fun onScrollStateChanged(view: AbsListView?, state: Int) {
//TODO: add some logic if needed, but no logic needed for this task
}
})
在totalItemCount - visibleItemCount <= firstVisibleItem
等于totalItemCount - lastVisibleItemPosition == 0
的情况下,ITEM_COUNT
对你来说是20,并且只有在服务器上有最大数量的项目时才应该制作最后条件adapter.count + ITEM_COUNT <= MAX_ITEM_COUNT
。您应该在loadMore()
中执行您的请求
以上是关于如何使用Gridview在Kotlin上进行简单的分页?的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin Android Studio - setContenView - 绑定(片段)