1、前言
最近博主在使用TabPageIndicator+FragmentStatePagerAdapter来管理Fragment(Fragment嵌套n个Fragment,外层又以Fragment为元素)的时候,遇到一个奇怪的问题:当第一次切换的时候没有问题,但是当跳到别的tab页面后再跳转回来,原来Fragment中的标记值(比如position)值都会置为初始值,继而引发一个数据混乱的问题。
最开始的传值方式为:class MyFragment extends Fragment{
int flag;
public void setFlag(int flag){
this.flag = flag;
}
}
//创建与传参
MyFragment my=new MyFragment();
my.setFlag(position);
return my;
起初以为是TabPageIndicator的bug,但是心想那么多人用了都没反馈肯定不是,换了star比较高的MagicIndicator问题依然得不到解决,那么解决的办法呢?
在google敲入Fragment miss value发现了一篇帖子《Best practice for instantiating a new Android Fragment》,中文翻译为:初始化Fragment的最佳实践。
点进去后发现博主显然也遇到了和我差不多的问题但是并不是,所幸在最佳回答中有一句话提到了解决问题的要点:This Bundle will be available even if the Fragment is somehow recrea