Android之startActivityForResult过时升级替换方法

一。旧版回调

 startActivityForResult(intent, 3);//注意要求码
  //接收其它页面回传结果和显示图片
    @Override
    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);


//页面传回来的值
        if (requestCode == 1)
            if (data != null) {
                //处理代码在此地
                String dataCback = data.getStringExtra("EXTRA_Colors");
                ;// 得到子窗口ChildActivity的回传数据
                // edx_color.setText(dataCback);

            }

//页面助用户传回来的值
        if (requestCode == 3)
            if (data != null) {
                //处理代码在此地
                String dataCback = data.getStringExtra("Milk_id");
                ;// 得到子窗口ChildActivity的回传数据
                String dataCbackspzxm = data.getStringExtra("milkusre_bame");
                ;// 得到子窗口ChildActivity的回传数据
                String dataCbackspzxmc = data.getStringExtra("Milk_name");
                ;// 得到子窗
                milkusre.setText(dataCbackspzxm);
            }

       



    }

换成,在启动执行


//这个registerForActivityResult方法要写在Activity的onCreate方法里(在Activity创建的时候就要创建出来,不能等到使用的时候再创建,不然会报错LifecycleOwner com.xx.MainActivity@28b4e79 is attempting to register while current state is RESUMED. LifecycleOwners must call register before they are STARTED.)。
        ActivityResultLauncher<Intent> intentActivityResultLauncher = registerForActivityResult(
                new ActivityResultContracts.StartActivityForResult(),
                result -> {
 /*
                    if (result.getResultCode() == RESULT_OK) {
                        //获取返回的结果
                        String data = result.getData().getStringExtra("data");
                        Toast.makeText(activity, data, Toast.LENGTH_SHORT).show();
                    }
*/


//页面传回来的值
                    if (result.getResultCode()  == 1){
                        //获取返回的结果
                        String data = result.getData().getStringExtra("data");
                        if (data != null) {
                            //处理代码在此地
                            // String dataCback = data.getStringExtra("EXTRA_Colors");
                            ;// 得到子窗口ChildActivity的回传数据
                            // edx_color.setText(dataCback);

                        }
                    }


//页面助用户传回来的值
                    if (result.getResultCode() == 3){
                        //获取返回的结果
                        String dataCbackspzxm = result.getData().getStringExtra("milkusre_bame");
                        if (dataCbackspzxm != null) {
                            //处理代码在此地

                            ;// 得到子窗口ChildActivity的回传数据
                            // String dataCbackspzxm = data.getStringExtra("milkusre_bame");

                            milkusre.setText(dataCbackspzxm);
                        }
                    }

 





                });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值