Fragment ViewPager 懒加载

mac2025-05-30  1

private int mPage = 1; private boolean isFirstVisible = true; private boolean isViewCreated; private boolean isUIVisible; private boolean isFirst = true; @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser) { isUIVisible = true; //当前fragment可见 if (isFirstVisible) { lazyLoad(); //如果是第一次可见,则进行懒加载 isFirstVisible = false; } } else { isUIVisible = false; } } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); isViewCreated = true; lazyLoad(); // 执行懒加载 } private void lazyLoad() { mPage = 1; if (isViewCreated && isUIVisible) { //需要进行双重判断,避免onViewCreaetd调用时,出现空指针 Log.e("onResume0: ", getUserVisibleHint() + ""); setHistoryGoodsData();//进行初次可见时的加载 isFirst = false; } }
最新回复(0)