如何解决Android数据绑定不同视图模型的相同布局
我有 2 个应用程序,它们的功能基本相同,但它们的数据架构略有不同,其中包含许多共享变量,例如:
data class modelOne (
val uniqueModelOne: String,val dateCreated: Date,val dateLastModified: Date
)
data class modelTwo (
val uniqueModelTwo: String,val dateLastModified: Date
)
我制作了一个基础视图模型,它位于一个库模块中,两个应用程序都可以从该模块继承来处理共享参数,并且我在每个应用程序项目中都有一个子视图模型,它扩展了该基础并添加了每个应用程序的唯一参数应用。
class BaseViewModel (): ViewModel() {
val dateCreated: ObservableField<Optional<Date>> = ObservableField()
val dateLastModified: ObservableField<Optional<Date>> = ObservableField()
init {
...
dateCreated.set (...)
dateLastModified.set (...)
}
}
class ChildViewModelOne: BaseViewModel() {
val uniqueModelOne: ObservableString = ObservableString()
init {
...
uniqueModelOne.set (...)
}
}
class ChildViewModelTwo: BaseViewModel() {
val uniqueModelTwo: ObservableString = ObservableString()
init {
...
uniqueModelTwo.set (...)
}
}
我真的希望只有一个实现数据绑定的视图,并且能够根据我所在的应用程序交换该视图中的视图模型变量,以便我可以将该视图文件保存在库模块中,而不是复制视图。
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="viewModel"
type="ChildViewModelOne" /> <!-- I want to be able to change that type dynamically depending on what app I am in -->
</data>
这样的事情有可能吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。