用Intent方式传递数据的方法:(这只是其中一种方式,还有很多方式,如:Broadcast,Interface等)
/* 向启动的下一个Activity传递数据 */
//第一个Activity中启动第二个并添加数据
String data = "Hello SecondActivity";
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("extra_data", data);
startActivity(intent);
//第二个Activity中接收数据
Intent intent = getIntent();
String data = intent.getStringExtra("extra_data");
Log.d("SecondActivity", data);
/* 向上一个Activity传递数据 */
//第一个Activity中启动第二个
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, 1);
//第二个Activity中返回数据并关闭
Intent intent = new Intent();
intent.putExtra("data_return", "Hello FirstActivity");
setResult(RESULT_OK, intent);
finish();
//返回键的方式返回第一个Activity,重写方法onBackPressed()返回数据
@Override public void onBackPressed() {
Intent intent = new Intent();
intent.putExtra("data_return", "Hello FirstActivity");
setResult(RESULT_OK, intent);
finish();
}
//第一个Activity中重写方法接收数据
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case 1:
if (resultCode == RESULT_OK) {
String returnedData = data.getStringExtra("data_return");
Log.d("FirstActivity", returnedData);
}
break;
default:
}
}
//参考资料:《第一行代码-Android》