activity之间值的传递和返回

activity1传值给activity2,我们可以用Intent.putExtra来实现,还可以用bundle来完成.在此不赘述.

在2返回值给1的时候我们也可以用这样的方式,然后跳转活动,startActivity.

但是,还有一个方法叫setResult(resultCode, intent Data) ,在活动二中使用

                Intent i = new Intent();
                i.putExtra("data", "this is a message ");
                setResult(1, i);   //1为resultCode,结果码,自定义意义

activity1在跳转之前的startActivity改为并且重写一个方法

  startActivityForResult(intent ,RequestCode);
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        //requestCode可以标记为请求意义,resultCode则是结果码,data则是setresult的参数,可以为data.getStringExtra等..
    }

个人觉得这个的作用并不大,mark一个作为参考

原文地址:https://www.cnblogs.com/lyxin/p/5778256.html