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。