这个是关于onActivityResult的例子——跳转传值的问题
从a页面跳往b页面
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 等同于下面的写法
// Intent intent=new Intent(MainActivity.this,SecondActivity.class);
// startActivityForResult(intent,1);
startActivityForResult(new Intent(MainActivity.this,SecondActivity.class),1);
}
});
textView=(TextView) findViewById(R.id.tv);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==1&&resultCode==4){
String str=data.getStringExtra("value");
textView.setText(str);
}else{
Toast.makeText(MainActivity.this,"没有收到传值",Toast.LENGTH_SHORT).show();
}
}
从b页面再跳回来
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
et=(EditText) findViewById(R.id.et);
btn2=findViewById(R.id.btn2);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent();
intent.putExtra("value",et.getText().toString().trim());
setResult(4,intent);
finish();
}
});
}
微信公众号:李斯特先生
https://github.com/zxk199003/android_test1