【问题标题】:Kotlin : Pagination Recyclerview Not Working After Swipe Refresh LayoutKotlin:滑动刷新布局后分页Recyclerview不起作用
【发布时间】:2019-10-07 09:41:03
【问题描述】:

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中不行。请帮我解决这个问题。

【问题讨论】:

  • 也许你在某个时候错过了适配器上的 notifyDataSetChanged
  • 您找到解决问题的方法了吗?

标签: android kotlin android-recyclerview pagination


【解决方案1】:

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

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

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

        viewModel.loadIconSpesialisasi(currentpage)
    }

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

要使其工作,请使用像这样的任何布尔值。isRealRefreshIsOn = false 当您想刷新时,请将此设置为 true。

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

        viewModel.loadIconSpesialisasi(currentpage)}
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    相关资源
    最近更新 更多