Как исправить View Pager FragmentManager уже выполняет транзакции ⇐ Android
Как исправить View Pager FragmentManager уже выполняет транзакции
В приложении есть BottomNavigationView, который управляет ViewPager2. Приложение работает, но иногда при переходе между интерфейсами появляется такая ошибка: FragmentManager уже выполняет транзакции Я слышал о функции getChildFragmentManager(), но не нашел ее. Можете ли вы мне помочь, а также если у кого-то есть комментарии по поводу улучшения кода, спасибо
protected void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.activity_main); List фрагментList=new ArrayList(); tableTime = новый ATableTime (); журнал = новый BJournal (); библиотека = новый LibraryFragment (); moreList = новый ListFragment (); фрагментList.add(tableTime); фрагментList.add(журнал); фрагментList.add(библиотека); фрагментList.add(moreList); viewPager.setUserInputEnabled(false); ViewPagerAdapter viewPagerAdapter = новый ViewPagerAdapter(getSupportFragmentManager(),getLifecycle(),fragmentList); viewPager.setAdapter(viewPagerAdapter); } недействительное действие(){ bNavView.setOnItemSelectedListener(пункт -> { if(item.getItemId()==R.id.tableTime ){ viewPager.setCurrentItem(0,false); } иначе если (item.getItemId()==R.id.journal ){ viewPager.setCurrentItem(1,false); } else if (item.getItemId()==R.id.library) { viewPager.setCurrentItem(2,false); } иначе если (item.getItemId()==R.id.more) { viewPager.setCurrentItem(3,false); } вернуть истину; }); } частный статический класс ViewPagerAdapter расширяет FragmentStateAdapter { Список arrayList; public ViewPagerAdapter(@NonNull FragmentManager фрагментManager, жизненный цикл @NonNull Lifecycle, List arrayList) { супер (fragmentManager, жизненный цикл); this.arrayList=arrayList; } @NonNull @Override общественный фрагмент createFragment (int позиция) { вернуть arrayList.get(позиция); } @Override общественный ИНТ getItemCount () { вернуть arrayList.size(); } } }
Ошибка
ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основное Процесс: com.ztech.booknote, PID: 5563. java.lang.IllegalStateException: FragmentManager уже выполняет транзакции
В приложении есть BottomNavigationView, который управляет ViewPager2. Приложение работает, но иногда при переходе между интерфейсами появляется такая ошибка: FragmentManager уже выполняет транзакции Я слышал о функции getChildFragmentManager(), но не нашел ее. Можете ли вы мне помочь, а также если у кого-то есть комментарии по поводу улучшения кода, спасибо
protected void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.activity_main); List фрагментList=new ArrayList(); tableTime = новый ATableTime (); журнал = новый BJournal (); библиотека = новый LibraryFragment (); moreList = новый ListFragment (); фрагментList.add(tableTime); фрагментList.add(журнал); фрагментList.add(библиотека); фрагментList.add(moreList); viewPager.setUserInputEnabled(false); ViewPagerAdapter viewPagerAdapter = новый ViewPagerAdapter(getSupportFragmentManager(),getLifecycle(),fragmentList); viewPager.setAdapter(viewPagerAdapter); } недействительное действие(){ bNavView.setOnItemSelectedListener(пункт -> { if(item.getItemId()==R.id.tableTime ){ viewPager.setCurrentItem(0,false); } иначе если (item.getItemId()==R.id.journal ){ viewPager.setCurrentItem(1,false); } else if (item.getItemId()==R.id.library) { viewPager.setCurrentItem(2,false); } иначе если (item.getItemId()==R.id.more) { viewPager.setCurrentItem(3,false); } вернуть истину; }); } частный статический класс ViewPagerAdapter расширяет FragmentStateAdapter { Список arrayList; public ViewPagerAdapter(@NonNull FragmentManager фрагментManager, жизненный цикл @NonNull Lifecycle, List arrayList) { супер (fragmentManager, жизненный цикл); this.arrayList=arrayList; } @NonNull @Override общественный фрагмент createFragment (int позиция) { вернуть arrayList.get(позиция); } @Override общественный ИНТ getItemCount () { вернуть arrayList.size(); } } }
Ошибка
ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основное Процесс: com.ztech.booknote, PID: 5563. java.lang.IllegalStateException: FragmentManager уже выполняет транзакции
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение