今天写项目的时候有一个需求,就是每次进入到fragment这个页面都需要刷新一次数据。
我的页面是这样的。
当点击到档案的时候,就要刷新数据。
直接上代码:
定义一个bool值:
private boolean isGetData = false;
然后在重写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); }
最后:
@Override public void onPause() { super.onPause(); isGetData = false; }
之前在网上看到的
@Override public void onResume() { if (!isGetData) { // 这里可以做网络请求或者需要的数据刷新操作
GetData(); isGetData = true; } super.onResume(); }
在onResume方法添加了刷新的功能。但是我每次点击进入到这个fragment的时候都会出现两次请求。因为你生命周期进来之后,会直接走onResume这个方法,所以肯定会调用的,有些项目的需求是这样,根据自己项目而定。我的项目这个方法取消了。只添加前面的两个方法。能够正常使用。
热门工具 换一换