有时候跳转到另一个界面操作之后需要返回数据,便是数据回传
一、第一个activity,用startactivityforresult进行跳转。
第一个参数为intent,第二个参数为请求码
Intent intent = new Intent(MainActivity.this,MainActivity2.class);
startActivityForResult(intent,1);
二、第二个activity操作完成后返回数据并关闭当前页面
实例化一个intent
发送数据
用setresult方法。两个参数,第一个为结果码,第二个为intent
Intent intent = new Intent();
intent.putExtra("result","结果为:"+result);
setResult(2,intent);
finish();
三、在第一个activity重写onActivityResult方法
首先进行请求码的判断。确定是哪里的逻辑尽情的数据回传。
然后在判断不同的结果码,根据传回的不同结果码获取相对应的数据
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//判断请求码
if (requestCode==1){
//结果码
if (resultCode==2)
{
//取数据
result = data.getStringExtra("result");
}else if (resultCode==3)
{
result = data.getStringExtra("result");
}
//给控件赋值
tv.setText(result);
}
}