Как исправить View Pager FragmentManager уже выполняет транзакцииAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как исправить View Pager FragmentManager уже выполняет транзакции

Сообщение Anonymous »


В приложении есть 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 уже выполняет транзакции
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»