我有2个 Activity , Activity1 和 Activity2 。
在Activity1
中,我有一个按钮和 TextView 。
单击该按钮时 Activity2 启动。
在Activity2
中,我有一个 EditText 。
我想显示从 Activity2 按下返回时从中的 TextView 中的中的中的 EditText 检索的数据。
有人可以通过代码帮助我完成这项工作吗?
最佳答案
使用 startActivityForResult
启动Activity2,并使用setResult
方法将数据从Activity2发送回Activity1。在Activity1中,您将需要覆盖onActivityResult
才能使用来自Activity2的TextView
数据更新EditText
。
例如:
在 Activity1 中,以以下方式启动Activity2:
Intent i = new Intent(this, Activity2.class);
startActivityForResult(i, 1);
在 Activity2 中,使用
setResult
将数据发送回去:Intent intent = new Intent();
intent.putExtra("editTextValue", "value_here")
setResult(RESULT_OK, intent);
finish();
在 Activity1 中,使用
onActivityResult
接收数据:public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if(resultCode == RESULT_OK) {
String strEditText = data.getStringExtra("editTextValue");
}
}
}
如果可以,还可以使用SharedPreferences在 Activity 之间共享数据。