创建两个活动,第一个活动名为FirstActivity,第二个活动为SecondActivity,在两个活动的View界面创建按钮,第一个活动按钮id为button_1,第二个活动按钮id为button_2。
FirstActivity中代码如下:
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button button1 = (Button) findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//返回数据给上一个活动
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
//第一个参数为Intent,第二个参数是请求码,用于判断数据的来源
startActivityForResult(intent, 1);
//finish();
}
});
}
@Override
//第一个参数是我们启动活动时传入的请求码,第二个参数是处理结果,第三个是携带返回数据的Intent
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
if (resultCode == RESULT_OK) {
String returnedData = data.getStringExtra("data_return");
Log.d("FirstActivity", returnedData);
}
break;
default:
}
}
}
在SecondActivity中代码如下:
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_layout);
//点击button返回数据
Button button2 =(Button) findViewById(R.id.button_2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("data_return", "Hello FirstActivity");
//第一个参数用于返回处理结果,第二个把有数据的intent传回去
setResult(RESULT_OK, intent);
finish();
}
});
}
}