从视图获取活动上下文是正确的,例如mvvm中的按钮

时间:2018-12-07 12:21:50

标签: android mvvm android-mvvm

我是mvvm模式的新手,正在开发一项功能,在该功能中我必须进行服务调用并显示一个需要Activity Context的自定义ProgressDialog框。因此,我想知道是否可以通过按钮传递上​​下文触发服务调用还是一个坏主意。如果获取上下文有误,那么我应该如何实现它?

1 个答案:

答案 0 :(得分:1)

假设您的意思是将上下文传递到viewModel方法中,这违反了最佳实践。

在一个过于简化的示例中,您的服务应返回LiveData,该数据应分配给viewModel中的LiveData实例。活动应观察viewModel的LiveData属性,并在观察到更改时更新UI。

这里有一些很好的文档,其中通过一些代码示例更详细地介绍了您的问题。

https://developer.android.com/jetpack/docs/guide