Android开发Android开发经验谈Android技术知识

每次进入Fragment页面都刷新数据

2020-10-20  本文已影响0人  i小灰

今天写项目的时候有一个需求,就是每次进入到fragment这个页面都需要刷新一次数据。

我的页面是这样的。


image.png

当点击到档案的时候,就要刷新数据。或返回到这个页面时就会刷新。

直接上代码:

全局定义一个boolean 值:

private boolean isGetData = false;

然后重写fragment的onCreateAnimation()方法。

 @Nullable
 @Override
    public Animation onCreateAnimation(int transit, boolean enter, int nextAnim) {
        //   进入当前Fragment
        if (enter && !isGetData) {
            isGetData = true;
            //   这里可以做网络请求或者需要的数据刷新操作 但不在这做 在onResume里
//            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这个方法,所以肯定会调用的,有些项目的需求是这样,根据自己项目而定。我的项目这个方法取消了。只添加前面的两个方法。能够正常使用。

上一篇 下一篇

猜你喜欢

热点阅读