操作订单列表的时候会影响其他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;
}
网友评论