【问题标题】:LiveData and MVVM patternLiveData 和 MVVM 模式
【发布时间】:2019-02-01 03:27:52
【问题描述】:

这是关于 LiveData 和 android 上的 MVVM 模式的一个更“概念性”的问题:我已经开始编写一个应用程序,我在屏幕上有多个按钮用于不同的操作,如果我在用户单击其中一个时理解正确的话按钮,ViewModel 应该处理它,然后通过 LiveData 更新 ui (Activity/fragment);问题是,对于 4 个按钮,我需要实现 4 个不同的 LiveData 实例才能订阅活动,还有其他解决方案吗? 到目前为止,我考虑过创建一个 State 数据类并在单击按钮时进行更新(然后将实例提供给 ui 进行渲染)这样可以吗?但是在活动中,您又遇到了一个问题,即您必须检查状态类的每个属性并相应地更新 ui,那么在我的情况下您会怎么做?

【问题讨论】:

  • 您需要的可能是sealed class 定义您的不同状态。我认为这篇中等文章完全符合您的要求,并且很好地解释了如何为此目的使用密封类:medium.com/@trionkidnapper/…希望您会发现它有用。
  • 非常感谢,那篇文章真的很有帮助,这是一个完美的解决方案!
  • 不客气。我会将其复制为答案,以便以后访问该问题的人更容易。

标签: android kotlin android-viewmodel


【解决方案1】:

您可能需要一个sealed class 来定义您的不同状态。我认为this medium 文章完全符合您的要求,它很好地解释了如何为此目的使用密封类。希望你会发现它有用。

【讨论】:

    猜你喜欢
    • 2019-03-02
    • 1970-01-01
    • 2020-03-17
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 2017-06-16
    • 2015-11-04
    相关资源
    最近更新 更多