Android:链接两个视图模型的最佳方法

问题描述

TLDR:基本上,我有两个视图模型,一个负责数据库中的数据,另一个负责跟上用户当前正在查看的日期范围。我想从viewmodel(b)中获取日期范围,并用它来更新viewmodel(a)。我目前的想法是将viewmodel(b)作为参数传递给viewmodel(a)的构造方法,并在参数更改时让实时数据通知它。

所以我有一个DBviewmodel,它实质上是从数据库提取事件。这些事件只是对象,用户可以输入自己的包含时间戳的参数。

我已经实现了自己的日历版本(我不太关心提供的android日历)。这使用Calendarviewmodel来跟上用户当前正在查看的日期范围。他们可以滚动浏览过去和将来。

我已经通过将日期信息放在先前的DBviewmodel类中来进行此工作,并使其跟上了所有内容。但是,它是不可维护的,包含800行以上的代码

我决定将逻辑分为两个类,现在发现很难找到将参数传递到视图模型中的任何文档,这样我就可以将Calendarviewmodel中的数据作为DBviewmodel中的参数并用于更新时间戳以查询数据库。希望将视图模型解耦的原因仅仅是为了遵循最佳实践,而我还有其他片段,它们仅将使用DBviewmodel而不必使用Calendarviewmodel逻辑和变量。基本上,它只是有助于提高效率。

Class Hierachy of code structure

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)