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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...