在Android中,将上下文传递给函数成员不在构造函数或工厂中的ViewModel
我知道将上下文传递给ViewModel不是最佳做法。但是我想知道在ViewModel中获取一个上下文实例作为函数的局部参数可以吗? 因为在这种情况下,函数使用上下文并在函数结束时释放该上下文引用 请假设我们不想使用AndroidViewModel来获取应用程序上下文 例如:在Android中,将上下文传递给函数成员不在构造函数或工厂中的ViewModel,android,mvvm,resources,viewmodel,Android,Mvvm,Resources,Viewmodel,我知道将上下文传递给ViewModel不是最佳做法。但是我想知道在ViewModel中获取一个上下文实例作为函数的局部参数可以吗? 因为在这种情况下,函数使用上下文并在函数结束时释放该上下文引用 请假设我们不想使用AndroidViewModel来获取应用程序上下文 例如: class MyViewModel : ViewModel(){ initColors(context:Context){ //do something with context li
class MyViewModel : ViewModel(){
initColors(context:Context){
//do something with context like getting colors from resourcse
}
}
碎片:
class Myfrgament:Fragment(){
private val viewModel: LessonFragmentViewModel by viewModels{}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
viewModel.initColors(requireContext())
}
}