首页 > 解决方案 > 如何使用 MVVM 在 Recycler 视图中更新按钮状态 [Enabled, Loading, Disabled]

问题描述

我目前正在开发一个 Android 项目并遇到了一个问题。我正在关注 MVVM 和清洁代码架构。有一个包含 RecyclerView 的 Fragment。每个 Recycler View Item 都有一个按钮。在每次单击按钮时,请求都会被带到 Fragment 并命中一个 API 端点。

目前,我在 Fragment 中显示加载进度指示器,但我想更改它并希望在命中 API 端点时将按钮状态显示为 Loading 并保持该加载状态,直到 API 返回响应。

和在 MVVM 中一样,将 Button 视图从 RecyclerView 项传递给 Fragment 并不是一个好习惯,那么如何在端点返回响应后回调 RecyclerView 项来更新 Button 状态。

我正在寻找一种适当的方法来处理这种情况。

我的堆栈:

Kotlin、Dagger2、RxJAVA、LiveData

可视化

注意:演示 UI 只是为了一个想法。

如您所见,我在 RecyclerView 中单击了 Item 1 中的按钮,按钮状态更改为 Loading,当 API 返回响应时,按钮将恢复正常状态。

在此处输入图像描述

标签: androidmvvmandroid-recyclerview

解决方案


推荐阅读