FragmentStatePagerAdapter中相同片段的多个实例

时间:2017-07-26 12:30:38

标签: android android-fragments

我有一个FragmentStatePagerAdapter,它显示相同片段的不同实例但具有不同的数据,如下所示:

class MyAdapter extends FragmentStatePagerAdpater{

    public MyAdapter (FragmentManager fm){
        super(fm);
    }

    public Fragment getItem(int i){
        Frag f = new Frag();
        f.setState(i);   //sets the value of the "State" instance variable 
                         //of the fragment
        return f;
    }

    public int getCount(){
    return 100;
    }
}

现在,我的问题是,由于FragmentStatePagerAdapter在破坏它们之前保存片段实例的状态,并且由于不同的实例可能在onSaveInstanceState中保存了不同的数据,然后FragmentStatePagerAdapter如何决定哪个savedInstanceState为在需要重新显示片段实例时重新创建吗?

1 个答案:

答案 0 :(得分:0)

如果查看FragmentStatePagerAdapter的源代码,看起来状态是根据位置保存和恢复的。