Android中从一个Activity返回上一个Activity数据刷新

项目场景:

在Android Studio中使用Listview显示数据,并点击item后跳转到另一个Activity进行数据的修改编辑,点击返回键后返回到上一个Activity,同时数据进行更新显示。

问题描述

在进行修改后,返回上一个Activity之后,数据没有更新,还是原来未修改的数据,需要返回再次返回后重新进入该Activity之后,数据才可以更新显示。

原因分析:

在修改界面修改数据之后,在点击返回时,程序只是通过finish()结束了当前的activity,对于上一个activity来说,数据并没有进行更新,还是之前未修改过的数据。

解决方案:

第一个Activity中原本的代码如下:

public class ManageActivity extends BaseActivity {
    @BindView(R.id.rl_back)
    RelativeLayout rlBack;
    @BindView(R.id.tv_title)
    TextView tvTitle;
    @BindView(R.id.lv_data)//listview
    ListView lvData;
    DengjiAdapter dengjiAdapter;//适配器

    Dengji dengji;

    @Override
    protected int getLayoutId() {
        return R.layout.tab_guihua;
    }

    @Override
    protected void init() {
        dengji = (Dengji) getIntent().getSerializableExtra("detail");
        tvTitle.setText("查询物品");
        rlBack.setOnClickListener(new View.OnClickListener() {//返回首页
            @Override
            public void onClick(View v) {
                finish();
            }
        });
        try {
            List<Dengji> dengjiList = App.dbManager.findAll(Dengji.class);
            List<Dengji> dengj = new ArrayList<>();
            if (dengjiList != null) {
                for (int i = 0; i < dengjiList.size(); i++) {
                    if (App.getInstance().userBean.getUser_id().equals(dengjiList.get(i).getUerid())) {
                        dengj.add(dengjiList.get(i));
                    }
                }
                dengjiAdapter = new DengjiAdapter(this, dengj);
                lvData.setAdapter(dengjiAdapter);
            }
        } catch (DbException e) {
            e.printStackTrace();
        }
    }
}

该代码无法在返回时进行数据的自动更新,所以在最后加一个自动更新的函数。

@Override       //这里是实现了自动更新
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        init();
    }

然后运行程序,在修改数据后返回,则可以看到更新后的数据显示。

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值