带返回值的Activity测试,startActivityForResult(intent, REQUESTCODE)

本文介绍如何在Android中通过startActivityForResult方法实现Activity间的返回值测试,详细讲解了第一个Activity如何传递数据到第二个Activity以及设置返回监听,同时在第二个Activity中处理相关操作。
摘要由CSDN通过智能技术生成

第一个Activity写两段代码

        1.传数据到第二个Activity

  btn_01.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String a = edit_01.getText().toString();//获取第一个输入框的内容
                String b = edit_02.getText().toString();//获取第二个输入框的内容
                if (a.equals("")||b.equals("")){
                    Toast.makeText(MainBackResultTestActivity.this, "请输入值", Toast.LENGTH_SHORT).show();
                }else {
                    Intent intent = new Intent(MainBackResultTestActivity.this,SecondActivity.class);
                    intent.putExtra("a",Integer.parseInt(a));//转成int 类型传过去
                    intent.putExtra("b",Integer.parseInt(b));
                    startActivityForResult(intent,REQUESTCODE);//两个参数 第一个为传过去的数据 第二个为 请求码,大于0 ,用于第二个页面验证
                }
            }
        });

    2. 添加返回监听

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode==2){//判断返回码
            if(requestCode==REQUESTCODE){//判断请求码
                String c = data.getStringExtra("c");
                txt_01.setText(c);
            }
        }
    }

第二个Activity写一段代码

Intent intent = getIntent();//获取传过来的intent
final int a = intent.getIntExtra("a",0);//通过key值获取数据, 默认值为 0
final int b = intent.getIntExtra("b",0);  
btn_02.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String m = string2MD5(String.valueOf((a+b)));//这里把接收到的数据加密返回
                Log.e("加密结果为:",m);
                Intent intent = new Intent();
                intent.putExtra("c", m);
                setResult(2, intent);//第一个参数为返回码,用于接收时验证,第二个为返回的数据
                finish();
            }
        });

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值