繁体   English   中英

Kotlin:在刷卡刷新布局后,分页Recyclerview不起作用

[英]Kotlin : Pagination Recyclerview Not Working After Swipe Refresh Layout

Recyclerview分页效果很好,但是在我使用SwipeRefreshLayout ,分页已经破坏并且无法按预期工作。

这是Recyclerview的OnScrollListener

rv_spesialisasi.addOnScrollListener(object : RecyclerView.OnScrollListener() {
            override fun onScrolled(recyclerView: RecyclerView?, dx: Int, dy: Int) {
                super.onScrolled(recyclerView, dx, dy)
                val linearLayoutManager = recyclerView
                    ?.layoutManager as LinearLayoutManager?
                if (!loading && linearLayoutManager!!.itemCount <= linearLayoutManager.findLastVisibleItemPosition() + 2) {
                    loading = true
                    refresing(true)
                    viewModel.loadIconSpesialisasi(currentpage)
                }
            }
        })

这是为了让人耳目一新

private fun setRefreshing() {
        sr_spesialisasi.setOnRefreshListener {
            currentpage = 0
            loading = false
            listDataGlobal.clear()
            adapter.clearData()

            viewModel.loadIconSpesialisasi(currentpage)
        }
    }

我试过java,它运行良好,但在kotlin不起作用。 请帮我解决这个问题。

我可以知道你在refresing(true)方法下执行的是什么。

如果您正在使用或显示滑动布局的加载程序作为加载指示符并且为此如果您正在调用swipeLayout.isRefreshing = true这将显示加载程序但也会触发onRefreshListener(),在这种情况下它将调用

sr_spesialisasi.setOnRefreshListener {
        currentpage = 0
        loading = false
        listDataGlobal.clear()
        adapter.clearData()

        viewModel.loadIconSpesialisasi(currentpage)
    }

这个方法再次重新加载到第一页。

要使其工作,请使用任何类似的布尔值。 isRealRefreshIsOn = false当你想要刷新使其成为真。

 sr_spesialisasi.setOnRefreshListener {
       if(isRealRefreshIsOn){
        currentpage = 0
        loading = false
        listDataGlobal.clear()
        adapter.clearData()

        viewModel.loadIconSpesialisasi(currentpage)}
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM