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

Json 如何使用Gridview在Kotlin上进行简单的分页?,json,gridview,kotlin,android-volley,paging,Json,Gridview,Kotlin,Android Volley,Paging,我有一个json请求,它给我带来了20个带有偏移量和限制的对象。我想在每次用户在Gridview上滚动并加载20时调用它,以便在我的Android应用程序中创建一个无限简单的分页样式,直到对象完成 实际上有一种非常简单的方法,您只需调用gridView.setOnScrollListenerlistener,在listener的方法onScroll中,如果当前可见位置(如果最后一个可见位置等于totalItems),您将加载更多项,总之,您可以这样做: gridView.setOnScr

我有一个json请求,它给我带来了20个带有偏移量和限制的对象。我想在每次用户在Gridview上滚动并加载20时调用它,以便在我的Android应用程序中创建一个无限简单的分页样式,直到对象完成

实际上有一种非常简单的方法,您只需调用gridView.setOnScrollListenerlistener,在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这里是分页的侦听器。请添加相应的逻辑

  gridview.setOnScrollChangeListener(object : AbsListView.OnScrollListener, View.OnScrollChangeListener {
            override fun onScrollChange(v: View?, scrollX: Int, scrollY: Int, oldScrollX: Int, oldScrollY: Int) {
                print("ff")
            }

            override fun onScroll(
                view: AbsListView?,
                firstVisibleItem: Int,
                visibleItemCount: Int,
                totalItemCount: Int
            ) {

            }

            override fun onScrollStateChanged(view: AbsListView?, scrollState: Int) {

            }

        })
    }

如果需要进一步帮助,请发表评论。

看看这个:更简单的?我想在不增加图书馆的情况下做这件事。只有Kotlin和Gridview