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(); 并在后者中做数据刷新即可.

上一篇下一篇

猜你喜欢

热点阅读