我有 2 个活动, Activity1 和 Activity2 。
在Activity1我有一个 Button 和 TextView 。单击按钮时, Activity2 将启动。
Activity1
在Activity2我有一个 EditText 。
Activity2
当从Activity2* 按下返回时,我想在 Activity1 的 TextView 中显示从 Activity2中的 EditText 检索到的数据。 ***
有人可以帮我编写代码来完成这项工作吗?
启动 Activity2startActivityForResult并使用setResult将数据从 Activity2 发送回 Activity1 的方法。在 Activity1 中,您需要覆盖以使用 Activity2中的数据onActivityResult进行更新。TextView``EditText
startActivityForResult
setResult
onActivityResult
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在活动之间共享数据。