۱۳۹۴/۱۲/۱۳, ۰۳:۲۶ ب.ظ
مشکل برطرف شد.
اشکال در مدیریت چرخه حیات NewFragment بود
بار اول که NewFragment ساخته میشه ViewPager میاد و customPagerAdapter رو راه اندازی میکنه.
CustomPagerAdapter هم میاد StepOneFragment و stepTwoFragment رو راه اندازی میکنه
چون در پیاده سازی CustomPagerAdapter از FragmentStatePagerAdapter استفاده شده قسمتی از Content و تعدا اونها در چرخه حیات ViewPager و NewFragment ذخیره میشه.
چون ما در طراحی انجام شده هنوز قسمت OnDetach مربوط به NewFragment و بقیه Fragmentها رو پیاده سازی نکردیم برای هیمن از چرخه حیات خارج نمیشن و هنگامی که دوباره NewFragment راه اندازی میشه اطلاعات قبلی مربوط به NewFragment بازگردانی میشه ولی این بار چون هنوز StepOneFragment و StepTwoFragment راه اندازی نشدن . ViewPager با اطلاعات غلط یا اشتباه پر میشه و هنوز فکر میکنه که دو Fragment گفته شده راه اندازی شدن . در حالی که راه اندازی نشدن و هیچ اطلاعاتی ازشون موجوذد نیست.
برای همین منظور پیغام خطای زیر رو میده
نکته : در استفاده از Fragment ها و NestedFragmentها همیشه با Onattach و OnDetach دقت کنید
اشکال در مدیریت چرخه حیات NewFragment بود
بار اول که NewFragment ساخته میشه ViewPager میاد و customPagerAdapter رو راه اندازی میکنه.
CustomPagerAdapter هم میاد StepOneFragment و stepTwoFragment رو راه اندازی میکنه
چون در پیاده سازی CustomPagerAdapter از FragmentStatePagerAdapter استفاده شده قسمتی از Content و تعدا اونها در چرخه حیات ViewPager و NewFragment ذخیره میشه.
چون ما در طراحی انجام شده هنوز قسمت OnDetach مربوط به NewFragment و بقیه Fragmentها رو پیاده سازی نکردیم برای هیمن از چرخه حیات خارج نمیشن و هنگامی که دوباره NewFragment راه اندازی میشه اطلاعات قبلی مربوط به NewFragment بازگردانی میشه ولی این بار چون هنوز StepOneFragment و StepTwoFragment راه اندازی نشدن . ViewPager با اطلاعات غلط یا اشتباه پر میشه و هنوز فکر میکنه که دو Fragment گفته شده راه اندازی شدن . در حالی که راه اندازی نشدن و هیچ اطلاعاتی ازشون موجوذد نیست.
برای همین منظور پیغام خطای زیر رو میده
کد پیاچپی:
NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:667)
at android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:211)
at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1319)
at android.view.View.dispatchRestoreInstanceState(View.java:14746)
نکته : در استفاده از Fragment ها و NestedFragmentها همیشه با Onattach و OnDetach دقت کنید