Сбой во фрагменте при использовании viewPager внутри фрагмента

Я использую ViewPager внутри фрагмента. Я получаю следующий отчет о сбое в Crashlytics. Пожалуйста, помогите, как решить эту проблему

Fatal Exception: java.lang.IllegalStateException
Child FragmentManager of MovieFragmentBase{9fa4a22 #1 id=0x7f0a0468 MovieFragmentBase} was not destroyed and this fragment is not retaining instance
android.support.v4.app.Fragment.performDetach (Unknown Source)
android.support.v4.app.FragmentManagerImpl.moveToState (Unknown Source)
android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState (Unknown Source)
android.support.v4.app.BackStackRecord.executePopOps (Unknown Source)
android.support.v4.app.FragmentManagerImpl.executeOps (Unknown Source)
android.support.v4.app.FragmentManagerImpl.executeOpsTogether (Unknown Source)
android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute (Unknown Source)
android.support.v4.app.FragmentManagerImpl.execPendingActions (Unknown Source)
android.support.v4.app.FragmentManagerImpl$1.run (Unknown Source)
android.os.Handler.handleCallback (Handler.java:822)
android.os.Handler.dispatchMessage (Handler.java:104)
android.os.Looper.loop (Looper.java:207)
android.app.ActivityThread.main (ActivityThread.java:5736)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:910)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:771)

Пожалуйста, проверьте код viewPagerAdapter, который я использую внутри MovieFragmentBase.

class ViewPagerAdapter extends FragmentStatePagerAdapter {
        private final List<Fragment> mFragmentList = new ArrayList<>();
        private final List<String> mFragmentTitleList = new ArrayList<>();

        public ViewPagerAdapter(FragmentManager manager) {
            super(manager);
        }

        @Override
        public Fragment getItem(int position) {
            return mFragmentList.get(position);
        }


        @Override
        public int getCount() {
            return mFragmentList.size();
        }

        public void addFragment(Fragment fragment, String title) {
            mFragmentList.add(fragment);
            mFragmentTitleList.add(title);
        }


        @Override
        public CharSequence getPageTitle(int position) {
            return mFragmentTitleList.get(position);
        }


    }

Вы можете разместить здесь свой код ViewPagerAdapter?

glagarto 11.07.2018 09:43

@ dr3k Я добавил код viewPagerAdapter в свой вопрос. Пожалуйста, проверьте отредактированный вопрос. Спасибо

Ehsan Anjum 11.07.2018 09:54
0
2
120
1

Ответы 1

Попробуйте добавить setRetainInstance(true); в ваш onCreate() вашего MovieFragmentBase, может быть это поможет вам

Для получения дополнительной информации о setRetainInstance перейдите по ссылке ниже

Дальнейшее понимание setRetainInstance (true)

Другие вопросы по теме