【问题标题】:Update RecyclerView from StateFlow doesn't work从 StateFlow 更新 RecyclerView 不起作用
【发布时间】:2023-01-24 20:06:57
【问题描述】:

有没有办法在列表中填充数据时(自动)更新RecyclerView

我创建了一个简单的应用程序(这里是应用程序的repository)。 在HomeFragment中有一个RecyclerView和一个刷新数据的按钮。

只要我在 HomeFragment 中有以下代码,每当 StateFlow 列表获取数据时更新适配器,该应用程序就可以正常工作。

private fun setupObservers() {
    lifecycleScope.launchWhenStarted {
        vm.state.collect() {
            if (it.list.isNotEmpty()) {
                todoAdapter.data = it.list
            } else {
                todoAdapter.data = emptyList()
            }
        }
    }
}

我的问题是,RecyclerView 是否可以更新,而不必观察(或收集)StateFlow 列表的更改?

【问题讨论】:

    标签: android kotlin android-recyclerview stateflow


    【解决方案1】:

    你的问题可以通过这个解决,但不推荐请浏览下面的博客

    /*Not recommend*/
    fun test(rv:RecyclerView){
        rv.adapter.data = listOf<Any>()
        rv.adapter.notifyDataSetChanged()
    }
    

    https://medium.com/android-news/smart-way-to-update-recyclerview-using-diffutil-345941a160e0

    https://medium.com/simform-engineering/listadapter-a-recyclerview-adapter-extension-5359d13bd879

    浏览此博客,这将对您有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-07
      • 1970-01-01
      • 2023-02-26
      相关资源
      最近更新 更多