从Activity中返回数据

一、简介

这里也就是使用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()方法

三、代码实例

结果图:

代码:

activityReturnData.MainActivity

 1 package activityReturnData;
 2
 3
 4
 5
 6 import com.example.activityReturnData.R;
 7
 8 import android.app.Activity;
 9 import android.content.Intent;
10 import android.os.Bundle;
11 import android.view.View;
12 import android.view.View.OnClickListener;
13 import android.widget.Button;
14 import android.widget.EditText;
15
16
17
18 public class MainActivity extends Activity{
19     private Button btn_chooseContacter;//创建一个button对象
20     private EditText et_phoneNumber;
21      protected void onCreate(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                 @Override
29                 public void onClick(View v) {//onclick事件
30                     // TODO Auto-generated method stub
31                     Intent intent=new Intent(MainActivity.this,Activity01.class);//初始化intent
32                     //请求码: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      @Override
44     protected void onActivityResult(int requestCode, int resultCode, 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 package activityReturnData;
 2
 3
 4 import com.example.activityReturnData.R;
 5
 6 import android.app.Activity;
 7 import android.content.Intent;
 8 import android.os.Bundle;
 9 import android.view.View;
10 import android.view.View.OnClickListener;
11 import android.widget.TextView;
12
13 public class Activity01 extends Activity{
14     private TextView tv_phoneNum;
15     @Override
16     protected void onCreate(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(new OnClickListener() {
22
23             @Override
24             public void onClick(View v) {
25                 // TODO Auto-generated method stub
26                 Intent intent=new Intent();
27                 intent.putExtra("phoneNumber",tv_phoneNum.getText());
28                 //resultCode,结果码
29                 setResult(0, intent);
30                 finish();
31             }
32         });
33     }
34 }

/activityReturnData/AndroidManifest.xml

 1 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 2     package="com.example.activityReturnData"
 3     android:versionCode="1"
 4     android:versionName="1.0" >
 5
 6     <uses-sdk
 7         android:minSdkVersion="8"
 8         android:targetSdkVersion="19" />
 9
10     <application
11         android:allowBackup="true"
12         android:icon="@drawable/ic_launcher"
13         android:label="@string/app_name"
14         android:theme="@style/AppTheme" >
15         <activity
16             android:name="activityReturnData.MainActivity"
17             android:label="@string/app_name" >
18             <intent-filter>
19                 <action android:name="android.intent.action.MAIN" />
20
21                 <category android:name="android.intent.category.LAUNCHER" />
22             </intent-filter>
23         </activity>
24         <activity android:name="activityReturnData.Activity01" android:exported="true"></activity>
25     </application>
26
27 </manifest>

转载于:https://www.cnblogs.com/Renyi-Fan/p/7268772.html

从Activity中返回数据相关推荐

  1. Spring Boot 通过Restful API,在PostMan 中返回数据

    Spring Boot 通过Restful API,在PostMan 中返回数据 资源组 新增 POST/resource_group/ad 请求体:格式:from-data参数:groupName= ...

  2. 刻骨铭心的startActivityForResult三级跳获得第三个Activity中返回的数据

    本文是为了记录开发过程中个人遇到的问题: 通过在第一个FirstActivity点击一个按钮用startActivityForResult启动第二个ProvincesActivity;显示的是一系列省 ...

  3. controller中返回数据

    1.返回ModelAndView 无敌的 带着数据返回路径 (不建议使用) 复制代码 2 //第一种返回ModelAndView 3 // //入门程序 第一 包类 + 类包 + 方法名 4 @Req ...

  4. Android 中activity中传递数据的方式

    方式一 通过Intent进行数据传递(日后更新) 方式二 通过剪切板进行数据的传递 首先在第一个Activity中,设置所要进行传递的数据 /*** 通过剪贴板传递字符串数据的操作**/private ...

  5. java中怎么写一个返回按钮_java – 在表中实现一个按钮,该按钮使用Thymeleaf和Spring Boot从表中返回数据...

    使用Spring Boot和Thymeleaf的tl; dr,当用户单击特定行的第5列中的按钮时,如何在表单中返回表的第1列值? 嗨,您好!长时间听众,第一次来电.对于这个问题,我非常感谢你的帮助. ...

  6. android之Activity关闭返回数据到启动他的页面

    好多时候,Activity关闭的时候,我们希望可以留下一些值到启动他的页面.今天记录一下步骤. 再启动Activity的页面需要设置如下: 等待返回值: @Overrideprotected void ...

  7. Activity中的数据传送—案例: 购买装备

    1.先打开Android Studio 2.创建工程. (1)设计用户交互页面,如图: 程序对应的布局文件(activity_main.xml)如下所示,在布局代码中用到了ProgressBar(进度 ...

  8. Activity之间的数据回传

    当我们从第一个Activity跳转到第二个Activity时,需要对第二个Activity进行操作,然后返回其中的一些数据时,就需要用到数据回传 例如: 下面就详细介绍Activity进行数据回传时包 ...

  9. android activity之间跳转和数据传递参数,Activity跳转(有返回数据跳转)以及传递参数和回传参数...

    使用Bundle在Activity之间传递数据 Bundle类是一个key-value对,是一个final类 两个Activity之间通信可以用Bundle类实现步骤: 新建一个Bundle类 Bun ...

最新文章

  1. Winform 打开下载的文件
  2. shadow ssdt学习笔记
  3. 最详细易懂的CRC-16校验原理(附源程序)
  4. (转)Bootstrap 之 Metronic 模板的学习之路 - (5)主题布局配置
  5. 新旧 iPhone 比速度,iOS 12 公开测试版发布!
  6. 需要编写支持英特尔 x86 的 Android* 游戏应用? 此处的样本可为您提供帮助!
  7. Hibernate 主键
  8. 主题图标_【主题爱好者】简约全局主题【归途】
  9. 新题速看~2021阿里、腾讯、字节都在问的SQL数据库笔试题及答案都给你整理好啦
  10. jdk6-jdk9常用版本下载地址整理
  11. matlab根号二,matlab根号二怎么打_常见问题解析,matlab,根号二,根号
  12. 机电传动控制 第三周作业
  13. linux查看主机配置命令,如何查看Linux 硬件配置信息
  14. Python自学(三)
  15. nexus私服安装包
  16. uni-app中接入友盟统计
  17. AR/VR训练营(无锡站)签约挂牌仪式成功举行
  18. 2018伦敦市长交通战略
  19. 字迹早就透露了你的性格:豪放者字体较大
  20. 100个让舌头抽筋的绕口令!!!

热门文章

  1. 我的天!史上最烂的项目:苦撑12年,600多万行代码...
  2. 吴军:区块链催生了新的生产关系
  3. Java线程详解(12)-有返回值的线程
  4. 使用Nomad和OpenFaaS提供FaaS服务
  5. Docker使用Link在容器之间建立连接
  6. SIP协议和压力测试, SIP callflow图形生成
  7. signature=9742dbe4d0ffb25ecc6661da5a37550e,Die Griechische Volkswirtschaft in den siebziger Jahren
  8. 一套mysql_mysql 命令一套
  9. php ftp 大文件,php – 将文件复制到服务器与FTP之间的文件大小差异
  10. # 管道已结束_CIPP内衬紫外线固化法用于污水管道非开挖修复