viewpager 嵌套fragment数据源重复的问题

viewpager是安卓经常使用的滑动组件,使用不娴熟的话经常会出些小问题,如数据源的重复性问题,此问题的根本原因在于当viewpager左右滑动的时候(超过缓存页数),onCreatView()方法会被重复调用。解决这个问题的方法有两种:1.

 private View mRootView;

   @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        if (mRootView!=null) {  // mRootView 不为null时候,返回之间创建的mRootView,不会再进行初始化操作了
            return mRootView;
        }
        mRootView= LayoutInflater.from(getActivity()).inflate(R.layout.fragment_foodaddfridge,null);
        return mRootView;
    }

2.setOffscreenPageLimit(int limit) 。此方法可设置预加载fragment的个数。为了解决onCreatView()方法重复调用,导致数据源重复,我们可以把预加载的个数设置成viewpager容器中fragment的总数。

你可能感兴趣的:(安卓)