输入数据在跳转页面回来后依旧存在

主要几点:bundle ,startactivityforresult,onactivityresult

 

【activity 1】获取值,传值,跳转页面,等待回传

public  void skip_scan(View view){
    edit_tel =  findViewById(R.id.edit_tel);
    tel=edit_tel.getText().toString().trim();
    edit_yzm =  findViewById(R.id.edit_yzm);
    yzm=edit_yzm.getText().toString().trim();
    edit_car =  findViewById(R.id.edit_car);
    car=edit_car.getText().toString().trim();

    Intent intent = new Intent(MainActivity.this,CaptureActivity.class);

    Bundle bundle = new Bundle();
    bundle.putString("tel",tel);
    bundle.putString("yzm",yzm);
    bundle.putString("car",car);

    intent.putExtras(bundle);

    startActivityForResult(intent,0);
}

 

【activity 2】获取对象及其传值,原样返回

intent=this.getIntent();
bundle = intent.getExtras();

Button b1 = (Button) findViewById(R.id.button1);
b1.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {
        NewActivity.this.setResult(RESULT_OK, intent);
        NewActivity.this.finish();
    }
});

 

【activity 1】获取返回值显示

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (resultCode) {
        case RESULT_OK:
            Bundle bundle = data.getExtras();
            assert bundle != null;
            tel1 = bundle.getString("tel");
            yzm1 = bundle.getString("yzm");
            car1 = bundle.getString("car");

            edit_tel.setText(tel1);
            edit_yzm.setText(yzm1);
            edit_car.setText(car1);

            break;
        default:
            break;
    }
}

 

输入数据在跳转页面回来后依旧存在