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

本文介绍了一种在Fragment页面中实现每次进入都刷新数据的方法。通过使用布尔变量控制数据请求,并在onCreateAnimation方法中进行判断,确保每次进入页面时都能获取最新数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     今天写项目的时候有一个需求,就是每次进入到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这个方法,所以肯定会调用的,有些项目的需求是这样,根据自己项目而定。我的项目这个方法取消了。只添加前面的两个方法。能够正常使用。


评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值