输入数据在跳转页面回来后依旧存在
主要几点: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; } }