【问题标题】:How to update data from recyclerview adapter in kotlin flow using MVVM architecture?如何使用 MVVM 架构从 kotlin 流中的 recyclerview 适配器更新数据?
【发布时间】:2020-09-11 07:02:36
【问题描述】:

所以,我正在使用 MVVM 架构、协程、Jetpack 制作类似于 instagram 提要的内容。

我正在使用 paging-3 库在 recyclerview 中显示帖子列表。每个帖子都包含图片、点赞数、分享数、cmets 数。目前,我的应用程序没有使用缓存。所以应用只依赖网络中的单一数据源。

我在使用 MVVM 实现类似/不同的功能时遇到问题。当用户喜欢或不喜欢某些特定帖子时,我正在使用 post_id 向后端 api 发出网络请求。该 api 将从服务器返回最新的喜欢计数。我想在 recyclerview 中显示的特定帖子中更新这个类似计数。

但是,我不知道如何使用 MVVM 模式来实现此功能并更新 Flow 中的发布数据。我不能在 RecyclerView.Adapter 类中使用 viewModel 来发出网络请求。

那么,如何使用 MVVM 和 paging-3 来实现这个功能。

【问题讨论】:

    标签: android-recyclerview kotlin-coroutines android-architecture-components android-mvvm android-paging


    【解决方案1】:

    您可以查看 Hotstar 的 Android : Leveraging RecyclerView Effectively with ViewModel 博客。他们的方法是每个 RecyclerView 项目一个 ViewModel 来克服类似的问题。

    【讨论】:

    • Note: This RecyclerView cell ViewModel does not extend the android’s ViewModel class as the Fragment ViewModel does. 这很重要,因为从技术上讲这只会导致错误
    猜你喜欢
    • 2019-06-04
    • 2015-09-30
    • 1970-01-01
    • 2018-03-17
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    相关资源
    最近更新 更多