如何使用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上进行简单的分页?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除GridView行之间的垂直空间

Kotlin Android Studio - setContenView - 绑定(片段)

在gridview中回发后Javascript代码不会运行

如何在 QGraphicsScene 上进行选择?

在 kotlin 中连接 Gridview 和 Listview

如何在Windows上进行并行化 - 例如?