I have an application with three tabs (TabWidget using fragments). Each tab opens a fragment that contains a a view pager that is based on FragmentStatePagerAdapter. The view pager is populated with items fetched from an online server using Async task.
My problem:
E/AndroidRuntime(29658): FATAL EXCEPTION: main
E/AndroidRuntime(29658): java.lang.IllegalStateException: Fragement no longer exists for key f1: index 1
E/AndroidRuntime(29658): at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:564)
E/AndroidRuntime(29658): at android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:211)
E/AndroidRuntime(29658): at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1220)
E/AndroidRuntime(29658): at android.view.View.dispatchRestoreInstanceState(View.java:11910)
E/AndroidRuntime(29658): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2584)
E/AndroidRuntime(29658): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2590)
E/AndroidRuntime(29658): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2590)
E/AndroidRuntime(29658): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2590)
E/AndroidRuntime(29658): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2590)
E/AndroidRuntime(29658): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2590)
E/AndroidRuntime(29658): at android.view.View.restoreHierarchyState(View.java:11888)
E/AndroidRuntime(29658): at android.support.v4.app.Fragment.restoreViewState(Fragment.java:417)
E/AndroidRuntime(29658): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:933)
E/AndroidRuntime(29658): at android.support.v4.app.FragmentManagerImpl.attachFragment(FragmentManager.java:1264)
E/AndroidRuntime(29658): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:672)
E/AndroidRuntime(29658): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
E/AndroidRuntime(29658): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
E/AndroidRuntime(29658): at android.os.Handler.handleCallback(Handler.java:615)
E/AndroidRuntime(29658): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(29658): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(29658): at android.app.ActivityThread.main(ActivityThread.java:4745)
E/AndroidRuntime(29658): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(29658): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(29658): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
E/AndroidRuntime(29658): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
E/AndroidRuntime(29658): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager(17922): Force finishing activity com.abello.news/.MainActivity
I know it's been taken much time, but there's no right answer.
Try to use FragmentPagerAdapter instead of FragmentStatePagerAdapter. Because the latter uses to save the state and doesn't update some data.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With