1.定义一个bool值:
private boolean isGetData = false;
2.然后再重写fragment的onCreateAnimation()方法。
@Override public Animation onCreateAnimation(int transit, boolean enter, int nextAnim) { // 进入当前Fragment if (enter && !isGetData) { isGetData = true; // 这里可以做网络请求或者需要的数据刷新操作 // GetData(); } else { isGetData = false; } return super.onCreateAnimation(transit, enter, nextAnim); }
3.在onPause方法中这样做:
@Override public void onPause() { super.onPause(); isGetData = false; }
补充:网上很多人说用setUserVisibleHint这个方法,但是这个方法目前仅适用于标示ViewPager中的Fragment是否真实可见在可见的时候调用,不适合不在viewpager中的fragment。