Android mvvm中view调用viewModel的方法是否正确

Is it right to call viewModel's method from view in Android mvvm

我正在使用 mvvm 模式构建 android 应用程序。听说view建议不要包含业务逻辑,除了UI。我想知道从视图中调用viewModel的方法是否可以。

例如,有一种方法可以将列表A添加到列表B中(列表A是用户的选择)。

fun setSelectedList(
    listA: ArrayList<Something>,
    listB: ArrayList<Something>
) {
    listB.addAll(listA)
} //written in kotlin

此方法是从视图中调用的

这个方法应该位于视图中吗?或者应该位于 viewModel 中?

如果您希望您的数据在屏幕旋转等配置更改后仍然存在,那么您应该将修改或存储数据的方法放在 ViewModel 中,然后在需要时从您的视图中调用该方法。您可以参考 this 了解更多信息。