如何使用Gridview在Kotlin上进行简单的分页?

问题描述 投票:0回答:1

我有一个json请求女巫带给我20个偏移和限制http://website.com/myRestApi/getObjects.php?offset=20的对象。我想在每次用户在Gridview上滚动并加载20时调用它,以便在我的Android应用程序中创建无限简单的分页样式,直到对象完成!

json gridview kotlin android-volley paging
1个回答
1
投票

实际上有一个非常简单的方法,你只需要调用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()中执行您的请求

© www.soinside.com 2019 - 2024. All rights reserved.