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

第一个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();
            }
        });

猜你喜欢

转载自blog.csdn.net/baichanna9833/article/details/82183249
今日推荐