Intetn 传输 (2)

今天和群里的一个同辈,他遇到了intent传输问题 

细说:当前activity A 跳转到 另一个activity B  进行操作,然后将数据传到第一个activity A  并且返回到这个activity A

不多说 主要还是代码 

一定要记住     A 跳转到B  关于数据逆向传输

用 startActivityForResult

A界面代码

      Intent intent = new Intent();
        intent.setClass(Activity A.this, Activity B.class);
        startActivityForResult(intent, 0);     //0  是请求码 这是可以随意填写

上述跳转到BActivity

B界面代码

             Intent intent = new Intent();
                Bundle bundle = new Bundle();
                bundle.putString("tv1", mtv1.getText().toString());//第一个参数key,第二个参数是value, 这边的key 需要用到 
                bundle.putString("tv2", mtv2.getText().toString());//同上
                intent.putExtras(bundle);
                CSCXActivity.this.setResult(1, intent); //第一个参数记住需要用到
                CSCXActivity.this.finish();        //

 

 

A界面;  

oncreate 方法外面 还需要有下面的代码

用于接收你第二个acvitity返回的数据的

 protected void onActivityResult(int requestCode, int resultCode, Intent data) { //请求码//结果码,结果码用于标识返回数据来自哪个新Activity requestCode
        super.onActivityResult(requestCode, resultCode, data);
        Bundle bundle = data.getExtras();
        String data_mtv1 = bundle.getString("tv1");  //get  "key" 对应的就是 B 里面的 已经设置的key  这样get就可以得到 设置的值了
        String data_mtv2 = bundle.getString("tv2");
        if (resultCode == 1) {           // resultcode就是对应 B 中 setResult的第一个参数  即 “结果码”
            mcstv1.setText(data_mtv1);
            mcstv2.setText(data_mtv2);
 }
}

至此  就可以拿到了

posted @ 2017-07-06 18:51  糖里里  阅读(257)  评论(0编辑  收藏  举报