FragmentViewPager其中一个Fragment中的R
2016-11-22 本文已影响0人
讲故事的程序员
现象
初次打开FragmentViewPager页面正常加载每一个Fragment,假设为A/B/C 共3个Fragment
ViewPager设置的缓存为0
customViewPager.setOffscreenPageLimit(0);
每一次打开A Fragment都需要看到最新的数据
A Fragment中包含RecyclerView 和 打开新Activity A1的按钮
B Fragment中包含打开新Activity B2的按钮
当初次加载完A中的列表数据并显示在RecycleView后, 打开 A1
此时A Fragment 会经历生命周期 onPause() onStop() onSaveInstanceState().
退出A1时
此时A Fragment 会经历生命周期 onStart() onResume().
RecycleView中的数据还存在.
切换到B Fragment后打开B2, 然后退出B2
生命周期如同打开A1的顺序, 此时切换回A Fragment中, 会发现RecycleView的数据消失了.
此时只需复写 onSaveInstanceState(), onViewStateRestored(); 并在后者中做数据刷新即可.