@Deprecated
@NonNull
@MainThread
public static ViewModelProvider of(@NonNull Fragment fragment) {
return new ViewModelProvider(fragment);
}
Как мы можем видеть, просматривая исходный код ViewModelProviders, of () в основном является функцией расширения ViewModelProvider, которая возвращает новый объект NonNull ViewModelProvider с параметром фрагмент / активность и блокирует его в MainThread. По сути, это причудливый способ написания ViewModelProvider (фрагмент) с дополнительными шагами.
Но учтите, что of () устарела, теперь вы инициализируете ViewModel следующим образом:
ViewModelProvider(requireActivity(),ViewModelFactory(Database.getDatabase(requireActivity()))).get(ViewModelClass::class.java)