我有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 之间共享数据。

08-18 15:59
查看更多