这个FragmentPagerAdapter方法有什么问题吗?

时间:2017-02-08 12:34:42

标签: android android-fragments android-activity android-viewpager android-adapter

public class MyPagerAdapter extends FragmentPagerAdapter {

    private List<Fragment> fragmentList;
    /**
     * Use this method to add pages in order
     */
    private void initializeFragmentList() {
        fragmentList = new ArrayList<>();
        fragmentList.add(LocationCriteriaFragment.newInstance("FirstFragment", "Instance 1"));
        fragmentList.add(NeighborhoodRatingFragment.newInstance("", ""));
        fragmentList.add(PropertyCriteriaFragment.newInstance("", ""));
        fragmentList.add(ExteriorPhotoEnhancedFeaturesFragment.newInstance());
        fragmentList.add(InteriorPhotoEnhancedFeaturesFragment.newInstance());
    }
    public MyPagerAdapter(android.support.v4.app.FragmentManager fm) {
        super(fm);
        initializeFragmentList();
    }

    public List<Fragment> getFragmentList() {
        return fragmentList;
    }

    @Override
    public Fragment getItem(int pos) {
        return fragmentList.get(pos);
    }

    @Override
    public int getCount() {
        return fragmentList.size();
    }
}

我将其用作ViewPager的适配器。这是根据位置轻松获取片段引用的好方法吗?它会在Fragment / Activity生命周期的某些部分发生意外崩溃吗?

1 个答案:

答案 0 :(得分:0)

尝试使用FragmentPagerStateAdapter代替FragmentPagerAdapter。

FragmentPagerAdapter存储从适配器获取的先前数据,而FragmentStatePagerAdapter每次执行时都从适配器获取新值