android activity返回数据,从Activity中返回数据

这篇博客介绍了如何在Android应用中通过Intent从一个Activity返回数据到另一个Activity。主要步骤包括:使用startActivityForResult替代startActivity,通过intent.putExtra传递数据,然后在目标Activity中重写onActivityResult来接收和处理返回的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从Activity中返回数据

一、简介

b975ea75384109a056ae86463c418205.png

这里也就是使用intent方式返回数据。

二、具体步骤

在MainActivity通过一个button访问Activity01页面,然后将Activity01页面的数据返回到MainActivity页面。

调用Activity页面:MainActivity

被调用页面:Activity01

接收值页面:MainActivity

传值页面:Activity01

1、将调用页面的startActivity方法换成startActivityForResult,用于接收数据

startActivityForResult(intent, 0);

2、在传值页面用intent.putExtra方法将值传过来,然后关闭页面

Intent intent=new Intent();

intent.putExtra("phoneNumber",tv_phoneNum.getText());

setResult(0, intent);

finish();

3、在接收值页面重写onActivityResult方法用于接收数据

Bundle bundle=data.getExtras();

String phoneNumber=bundle.getString("phoneNumber");

et_phoneNumber.setText(phoneNumber);

说明:

Activity01调用完finish()方法销毁之后,就会调用MainActivity的onActivityResult方法,

去看finish的方法说明就好,就在eclipse代码里面看,点finish()方法

三、代码实例

结果图:

270c240282739b1c3bdadda20cb5e626.png

11af5922953651e52c2eb1c0bbcbd1df.png

4d7c5634bd2b0f55bfd8982e54426323.png

代码:

activityReturnData.MainActivity

1 packageactivityReturnData;2

3

4

5

6 importcom.example.activityReturnData.R;7

8 importandroid.app.Activity;9 importandroid.content.Intent;10 importandroid.os.Bundle;11 importandroid.view.View;12 importandroid.view.View.OnClickListener;13 importandroid.widget.Button;14 importandroid.widget.EditText;15

16

17

18 public class MainActivity extendsActivity{19 private Button btn_chooseContacter;//创建一个button对象

20 privateEditText et_phoneNumber;21 protected voidonCreate(Bundle savedInstanceState) {22 super.onCreate(savedInstanceState);//父类操作

23 setContentView(R.layout.activity_main);//引入名为activity_main的界面

24 btn_chooseContacter=(Button) findViewById(R.id.btn_chooseContacter);//找id为btn_openActivity的button

25 et_phoneNumber=(EditText) findViewById(R.id.et_phoneNum);26 btn_chooseContacter.setOnClickListener(new OnClickListener() {//设置button点击监听

27

28 @Override29 public void onClick(View v) {//onclick事件30 //TODO Auto-generated method stub

31 Intent intent=new Intent(MainActivity.this,Activity01.class);//初始化intent32 //请求码:resultCode

33 startActivityForResult(intent, 0);34 }35 });36 }37 /*

38 * Activity01调用完finish()方法销毁之后,就会调用MainActivity的onActivityResult方法39 * 因为Activity01完成后会返回调用它的方法40 * (non-Javadoc)41 * @see android.app.Activity#onActivityResult(int, int, android.content.Intent)42 */

43 @Override44 protected void onActivityResult(int requestCode, intresultCode, Intent data) {45 //TODO Auto-generated method stub

46 super.onActivityResult(requestCode, resultCode, data);47 //就是如果没有传值回来的情况,直接return就ok了

48 if(data==null) return;49 Bundle bundle=data.getExtras();50 String phoneNumber=bundle.getString("phoneNumber");51 et_phoneNumber.setText(phoneNumber);52 }53 }

activityReturnData.Activity01

1 packageactivityReturnData;2

3

4 importcom.example.activityReturnData.R;5

6 importandroid.app.Activity;7 importandroid.content.Intent;8 importandroid.os.Bundle;9 importandroid.view.View;10 importandroid.view.View.OnClickListener;11 importandroid.widget.TextView;12

13 public class Activity01 extendsActivity{14 privateTextView tv_phoneNum;15 @Override16 protected voidonCreate(Bundle savedInstanceState) {17 //TODO Auto-generated method stub

18 super.onCreate(savedInstanceState);19 setContentView(R.layout.activity01);20 tv_phoneNum=(TextView) findViewById(R.id.tv_phoneNum);21 tv_phoneNum.setOnClickListener(newOnClickListener() {22

23 @Override24 public voidonClick(View v) {25 //TODO Auto-generated method stub

26 Intent intent=newIntent();27 intent.putExtra("phoneNumber",tv_phoneNum.getText());28 //resultCode,结果码

29 setResult(0, intent);30 finish();31 }32 });33 }34 }

/activityReturnData/AndroidManifest.xml

1

2 package="com.example.activityReturnData"

3 android:versionCode="1"

4 android:versionName="1.0" >

5

6

8 android:targetSdkVersion="19" />

9

10

12 android:icon="@drawable/ic_launcher"

13 android:label="@string/app_name"

14 android:theme="@style/AppTheme" >

15

17 android:label="@string/app_name" >

18

19

20

21

22

23

24

25

26

27

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值