Я очищаю небольшой Android проект, и вместо этого использование многообещающих библиотек поддержки и использование androidx показалось многообещающим. Тем не менее, я сталкиваюсь со странной проблемой в моей MainActivity. java:
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
private void setupFragments(){
//...
ViewPager viewPager = findViewById(R.id.pager);
ViewPagerAdapter adapter = new ViewPagerAdapter(getParentFragmentManager());
viewPager.setAdapter(adapter);
viewPager.setOffscreenPageLimit(2);
tabLayout.setupWithViewPager(viewPager);
//...
В старой версии вместо этого использовался getFragmentManager()
. Тем не менее, теперь я получаю Cannot resolve method getParentFragmentManager
ошибку компиляции и Android Studio предлагает мне создать собственную функцию getParentFragmentManager. Согласно моим исследованиям, эта функция должна быть доступна при импорте библиотек androidx, как указано выше.
Что мне здесь не хватает?
РЕДАКТИРОВАТЬ: В случае, если это связано, я также получаю устаревшее предупреждение для FragmentManager от androidx в определении моего FragmentPagerAdapter:
publi c класс ViewPagerAdapter extends FragmentPagerAdapter {ViewPagerAdapter (FragmentManager fm) {// <---- устарело super (fm); } </p>
Что касается версии androidx.fragment: используемый фрагмент, я использую только implementation 'androidx.fragment:fragment-ktx:1.2.2'
, как предложено в ответах (до этого ничего не было).
Импорт androidx.fragment.app.FragmentTransaction
не дал никаких изменений , Также отображается как неиспользуемый.