diff --git a/app/src/main/java/com/qhclh/ytzh/work/productiondaily/ShowInfoFragment.java b/app/src/main/java/com/qhclh/ytzh/work/productiondaily/ShowInfoFragment.java index cbaaa72..0c4a257 100644 --- a/app/src/main/java/com/qhclh/ytzh/work/productiondaily/ShowInfoFragment.java +++ b/app/src/main/java/com/qhclh/ytzh/work/productiondaily/ShowInfoFragment.java @@ -41,6 +41,12 @@ public class ShowInfoFragment extends BaseFragment { private List list; private ShowInfoActivity activity; + //Fragment的View加载完毕的标记 + private boolean isViewCreated; + + //Fragment对用户可见的标记 + private boolean isUIVisible; + public ShowInfoFragment(List list) { this.list = list; } @@ -53,6 +59,7 @@ public class ShowInfoFragment extends BaseFragment { @Override protected void initView() { activity = (ShowInfoActivity) getActivity(); + isViewCreated = true; } @Override @@ -64,4 +71,38 @@ public class ShowInfoFragment extends BaseFragment { protected void initOper() { } + + @Override + public void setUserVisibleHint(boolean isVisibleToUser) { + super.setUserVisibleHint(isVisibleToUser); + if (isVisibleToUser) { + isUIVisible = true; + lazyLoad(); + } else { + isUIVisible = false; + } + + } + + private void lazyLoad() { + //这里进行双重标记判断,是因为setUserVisibleHint会多次回调,并且会在onCreateView执行前回调,必须确保onCreateView加载完毕且页面可见,才加载数据 + if (isViewCreated && isUIVisible) { + + frag_death_info.setText(list.get(activity.mViewPager.getCurrentItem()).getSiwang()); + frag_eliminate_info.setText(list.get(activity.mViewPager.getCurrentItem()).getTaotai()); + frag_water_info.setText(list.get(activity.mViewPager.getCurrentItem()).getYinshuiliang()); + frag_weight.setText(list.get(activity.mViewPager.getCurrentItem()).getTizhong()); + frag_mint_info.setText(list.get(activity.mViewPager.getCurrentItem()).getZuidiwendu()); + frag_maxt_info.setText(list.get(activity.mViewPager.getCurrentItem()).getZuigaowendu()); + frag_minh_info.setText(list.get(activity.mViewPager.getCurrentItem()).getZuidishidu()); + frag_maxh_info.setText(list.get(activity.mViewPager.getCurrentItem()).getZuigaoshidu()); + frag_minw_info.setText(list.get(activity.mViewPager.getCurrentItem()).getZuixiaotongfeng()); + frag_maxw_info.setText(list.get(activity.mViewPager.getCurrentItem()).getZuidatongfeng()); + frag_pressure_info.setText(list.get(activity.mViewPager.getCurrentItem()).getFuya()); + //数据加载完毕,恢复标记,防止重复加载 + isViewCreated = false; + isUIVisible = false; + + } + } }