передача контекста в ViewModel с элементом функции, которого нет в конструкторе или фабрике в Android

#android #mvvm #resources #viewmodel

#Android #mvvm #Ресурсы #viewmodel

Вопрос:

Я знаю, что это не лучшая практика для передачи контекста в ViewModel. но мне интересно, можно ли получить экземпляр контекста в качестве локального параметра функции в ViewModel?

потому что в этом случае функция использует контекст и освобождает эту контекстную ссылку к концу функции.

и, пожалуйста, предположите, что мы не хотим использовать AndroidViewModel для получения контекста приложения.

например:

 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())
}
 

}