在FirstActivity
中给SecondActivity
传递一个字符串
在FirstActivity
中给Intent
对象添加数据
xxxxxxxxxx
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("data_key", "data_value");
startActivity(intent);
在SecondActivity
获取数据
xxxxxxxxxx
Intent intent = getIntent();
String data = intent.getStringExtra("data_key"); // now data is "data_value"
getIntent()
方法是获取启动该活动的Intent
对象
若要获取int
类型数据,则使用getIntExtra()
方法,以此类推
FirstActivity
中按钮:
xxxxxxxxxx
public void onClick(View v) {
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent);
}
SecondActivity
中:
xxxxxxxxxx
Intent intent = new Intent();
intent.putExtra("extra_data", "Hello 1stActivity");
setResult(RESULT_OK, 1); // setResult(resultCode, requestCode)
由于使用startActivityForResult()
来启动SecondActivity
,则在SecondActivity
销毁后会自动调用上一个活动的onActivityResult()
方法
FirstActivity
中:
AخA
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case 1:
if (resultCode == RESULT_OK) {
Log.d("mytag", data.getStringExtra("extra_data"));
}
break;
}
}