操作訂單列表的時候會影響其他fragment的數據,所以我們是要求每個界面顯示的時候都要刷新數據?
1.使用onResume 方法達不到要求,因為這個屬于activity的方法,切換fragment的時候不會走這個方法
2.發現Fragment還有一個?onCreateAnimation(int transit, boolean enter, int nextAnim) 方法?
@Override public Animation onCreateAnimation(int transit, boolean enter, int nextAnim) { // 參數enter表明 當前進入此方法是否為進入Fragment調用的
// 進入當前Fragment
if (enter && !isGetData) {
isGetData = true;
// 這里可以做網絡請求或者需要的數據刷新操作
initData();
} else {
isGetData = false;
}
return super.onCreateAnimation(transit, enter, nextAnim);
}
測試發現onCreateAnimation在framgment切換的時候會調用,但是在進入Activity返回時,可能不會被調用?
@Override public void onResume() {
? ? ? ? super.onResume();
? ? ? ? if (!isGetData) {
? ? ? ? ? ? //? 這里可以做網絡請求或者需要的數據刷新操作? ? ? ? ? ? isGetData = true;
? ? ? ? }
? ? }
@Override public void onPause() {
? ? ? ? super.onPause();
? ? ? ? isGetData = false;
? ? }