按下时如何将数据从第二个活动传递到第一个活动?- 安卓 [英] How to pass data from 2nd activity to 1st activity when pressed back? - android

查看:19
本文介绍了按下时如何将数据从第二个活动传递到第一个活动?- 安卓的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有 2 个活动,Activity1Activity2.

I've 2 activities, Activity1 and Activity2.

Activity1 中,我有一个 ButtonTextView.单击按钮时Activity2 启动.

In Activity1 I've a Button and TextView. When the button is clicked Activity2 is started.

Activity2 中,我有一个 EditText.

In Activity2 I've an EditText.

我想在 Activity1TextView 中的 Activity2 中显示从 EditText 检索到的数据,当返回是从 Activity2 按下.

I want to display the data retrieved from EditText in Activity2 in the TextView in Activity1 when back is pressed from Activity2.

有人可以帮我编写代码来完成这项工作吗?

can someone help me with the code to make this work?

推荐答案

Start Activity2 with startActivityForResult 并使用 setResult 方法将数据从 Activity2 发送回 Activity1.在 Activity1 中,您需要覆盖 onActivityResult 以使用来自 Activity2 的 EditText 数据更新 TextView.

Start Activity2 with startActivityForResult and use setResult method for sending data back from Activity2 to Activity1. In Activity1 you will need to override onActivityResult for updating TextView with EditText data from Activity2.

例如:

Activity1中,启动Activity2:

In Activity1, start Activity2 as:

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 在活动之间共享数据.

If you can, also use SharedPreferences for sharing data between Activities.

这篇关于按下时如何将数据从第二个活动传递到第一个活动?- 安卓的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆