ViewPager.setOffscreenPageLimit(0) doesn't work as expected

前端 未结 11 910
抹茶落季
抹茶落季 2020-11-22 13:02

The fragments I use in my ViewPager instance are quite resource intensive, so I\'d only like to load one at a time. When I try the following:

mV         


        
11条回答
  •  谎友^
    谎友^ (楼主)
    2020-11-22 13:46

    You can try like this :

    public abstract class LazyFragment extends Fragment {
        protected boolean isVisible;
        /**
         * 在这里实现Fragment数据的缓加载.
         * @param isVisibleToUser
         */
        @Override
        public void setUserVisibleHint(boolean isVisibleToUser) {
            super.setUserVisibleHint(isVisibleToUser);
            if(getUserVisibleHint()) {
                isVisible = true;
                onVisible();
            } else {
                isVisible = false;
                onInvisible();
            }
        }
        protected void onVisible(){
            lazyLoad();
        }
        protected abstract void lazyLoad();
        protected void onInvisible(){}

    protected abstract void lazyLoad();
    protected void onInvisible(){}
    

提交回复
热议问题