API результатов активности AndroidX onActivityCreated устарел

#java #android-studio #android-fragments #androidx #deprecation-warning

#java #android-studio #android-фрагменты #androidx #устаревание -предупреждение

Вопрос:

После реализации приведенной ниже зависимости в Gradle уровня приложения

 implementation "androidx.fragment:fragment:1.3.0-beta02"
implementation "androidx.activity:activity:1.2.0-beta02"
 

Я нашел приведенное ниже предупреждение в своем фрагменте в методе onActivityCreated

 Overrides deprecated method in 'androidx.fragment.app.Fragment'
 

Каким может быть новый способ реализации этого метода. Ниже приведен мой метод onActivityCreated

 @Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    mainViewModel = new ViewModelProvider(this).get(MainViewModel.class);
}
 

Я использую зависимость для requestPermissionLauncher.

Ответ №1:

Вы можете более подробно ознакомиться с предупреждением об изменении / устаревании здесь: https://developer.android.com/jetpack/androidx/releases/fragment#1.3.0-alpha02

В частности

Метод onActivityCreated() теперь устарел. Код, касающийся представления фрагмента, должен выполняться в onViewCreated() (который вызывается непосредственно перед onActivityCreated()), а другой код инициализации должен быть в onCreate() .

Изменение вашего кода на приведенный ниже пример должно удалить предупреждение об устаревании:

 @Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    mainViewModel = new ViewModelProvider(this).get(MainViewModel.class);
}