调用viewModel';在Android mvvm中从视图中选择s方法

调用viewModel';在Android mvvm中从视图中选择s方法,android,mvvm,viewmodel,android-viewmodel,android-mvvm,Android,Mvvm,Viewmodel,Android Viewmodel,Android Mvvm,我正在使用mvvm模式构建android应用程序。我听说除了UI之外,视图不建议包含业务逻辑。我想知道从视图调用viewModel的方法是否正确 例如,有一种方法可以将列表a添加到列表B中(列表a是用户的选择) fun setselected列表( listA:ArrayList, 列表B:ArrayList ) { listB.addAll(listA) }//用科特林写成 此方法是从视图调用的 该方法是否应位于视图中?或者应该位于viewModel中?如果您希望数据在配置更改(如屏幕旋转)

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

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

fun setselected列表(
listA:ArrayList,
列表B:ArrayList
) {
listB.addAll(listA)
}//用科特林写成
此方法是从视图调用的


该方法是否应位于视图中?或者应该位于viewModel中?

如果您希望数据在配置更改(如屏幕旋转)后仍然有效,则应将修改或存储数据的方法放入
viewModel中,然后在需要时从视图中调用该方法。您可以参考更多信息。

谢谢您的回答。我不是在问如何保留数据。我想知道的是,将一个处理数据的方法放入ViewModel中,以减少视图的代码行,并从视图中调用该方法是否正确@고현석, 这取决于你喜欢怎么做。一般来说,您应该尽可能保持视图/活动类的干净。因此,将数据移动到ViewModel是首选。感谢您的回答和好意
fun setSelectedList(
    listA: ArrayList<Something>,
    listB: ArrayList<Something>
) {
    listB.addAll(listA)
} //written in kotlin