在做安卓开发的过程中,经常会在两个Activity之间传递数据,从第一个Activity传递数据到第二个Activity是很简单的,在第一个Activity中这样写代码

Intent intent = new Intent(packageContext, cls);intent.putExtra(name, value);startActivity(intent);

然后在第二个Activity中接受就可以了

Intent intent = getIntent();intent.getStringExtra(name);

如果是想要在第一个Activity中接受第二个Activity返回的数据改怎么办呢?其实跟上面的类似,下面就简单演示一个程序。

首先是布局文件activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity" ><EditTextandroid:id="@+id/et_content1"android:lines="6"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入内容一" /><EditTextandroid:id="@+id/et_content2"android:lines="6"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入内容二" /><Buttonandroid:onClick="select_content1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="选择内容一" /><Buttonandroid:onClick="select_content2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="选择内容二" /></LinearLayout>

第二个activity_content.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><ListView android:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent"></ListView></LinearLayout>

还有一个lv_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical" ><TextView android:id="@+id/sms_info"android:drawableLeft="@drawable/cqu"android:gravity="center_vertical"android:layout_width="match_parent"android:layout_height="wrap_content"android:textColor="#000000"android:text="afafga"/>"</LinearLayout>

主Activity函数

public class MainActivity extends Activity {private EditText et_content1;private EditText et_content2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et_content1 = (EditText) findViewById(R.id.et_content1);et_content2 = (EditText) findViewById(R.id.et_content2);}public void select_content1(View v){Intent intent = new Intent(MainActivity.this,ListContent2Activity.class);/*** 可以一次性完成这项任务,当程序执行到这段代码的时候,* 假若从T1Activity跳转到下一个Text2Activity,* 而当这个Text2Activity调用了finish()方法以后,* 程序会自动跳转回T1Activity,* 并调用前一个T1Activity中的onActivityResult( )方法。* */startActivityForResult(intent, 0);}public void select_content2(View v){Intent intent = new Intent(MainActivity.this,ListContent1Activity.class);startActivityForResult(intent, 1);}/****** 接受第二个Activity返回的数据时调用* * ****/@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (data == null) {return;}String contentInfo = data.getStringExtra("contentInfo");// 根据返回码的不同,设置参数if (requestCode == 0) {et_content1.setText(contentInfo);}if (requestCode == 1) {et_content2.setText(contentInfo);}}
}

第二个Activity

public class ListContent1Activity extends Activity {private ListView lv;private String[] objects = {"序 缘浅情深","殁年,何为殁年?","似水流年,殁形散之。","“天降神女,是之殁年。”","“济世救民,是之殁年。”","“宸国之后,是之殁年。”","不知说了多少岁月的民谣还在传唱,留芳千古的旷世佳话依旧流传。茶楼说书人仍然热火朝天的诉说一场又一场的风花雪月。","世人向来喜闻才子佳人的旷世绝恋,说书人自然也是随口便吟得一篇佳作。其中,洺帝与神女的一段奇缘固是必不可少。成了百姓茶余饭后的一记解闷良方。","世人爱听的不过是洺帝与神女至死不渝的爱情,又怎会顾得背后的凄凉与落寞。","他们道我为神女,说我为皇后,可我究竟是谁?我忘了。我只记得,有一个与我风雨同舟的少年,我是他的妻。","人生兜兜转转,百转千回,终是奈何缘浅情深。我有幸命中得以见他,即使如今只能在黄泉水畔,奈何桥头等待他来世的一寸回眸,但我亦不后悔。","世间一切爱恨情仇,哪抵一碗孟婆汤。只愿那孟婆之汤别让我忘记太多,记得来世寻他来渡"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_content);lv = (ListView) findViewById(R.id.lv);ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.lv_item,R.id.sms_info, objects);lv.setAdapter(adapter);lv.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int positon,long id) {String contentInfo = objects[positon];Intent data = new Intent();// 设置要回传的数据data.putExtra("contentInfo", contentInfo);// 设置回传码和IntentsetResult(0, data);finish();}});}}
public class ListContent2Activity extends Activity {private ListView lv;private String[] objects = {"他将手中的石头揉碎了随风扬走,于是苍穹星辰浩瀚。","世间本无日月,星盘先行。","又是一个开天辟地的故事,将最近自己的几个短篇里的梗揉了一下,出了个小练笔。","因为是练笔,很短,不到两千字,但却是完整的故事。","这里是 烨弥的烨弥。"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_content);lv = (ListView) findViewById(R.id.lv);ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.lv_item,R.id.sms_info, objects);lv.setAdapter(adapter);lv.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int positon,long id) {String contentInfo = objects[positon];Intent data = new Intent();// 设置要回传的数据data.putExtra("contentInfo", contentInfo);// 设置回传码和IntentsetResult(1, data);finish();}});}}

Android 从一个Activity跳转到另一个Activity获取第二个Activity的返回值相关推荐

  1. 由一个activity跳转到另一个activity

    定义一个按钮,当点击的时候跳转到另一个activity的界面 1.新建第二个activity 2.在第二个Java源码处继承第一个activity,导入 3.在source中复写Oncreat方法 4 ...

  2. 1.简述一个Activity跳转到另一个Activity时,两个Activity生命周期方法的执行过程。2.编写一个程序,要求在第一个界面中输入两个数字,在第二个界面显示第一个界面两个数字的和。

    1.简述一个Activity跳转到另一个Activity时,两个Activity生命周期方法的执行过程. 首先,我创建了一个MainActivity和SecondActivity两个Activity. ...

  3. 当前Activity跳转到另外一个Activity

    当前Activity跳转到另外一个Activity Step1:创建firest_layout.xml文件. 添加一个Button: <Buttonandroid:id="@+id/b ...

  4. js实现从一个页面跳转到另一个页码

    在html页面中,经常需要从一个页面跳转到另一个页面,可以通过js代码来实现. 源码如下: 第一种:(跳转到b.html) <script language="javascript&q ...

  5. android之隐示意图跳转启动另一个activity

    主面板布局:layout/activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/r ...

  6. android activity跳转生命周期,Android中从一个Activity跳转到另一个Activity所经历的生命周期........

    凡是Android开发人员都知道"Activity"是非常重要的:对其该"Activity"生命周期相信大家也比较熟悉了. 这篇文章主要探讨的是"从一 ...

  7. 基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码

    比如 想跳到 mao.aspx 的页面 的div id="s" 的位置 那么 只用<a href="mao.aspx#s"> 就可实现跳转到指定位置 ...

  8. iOS 从一个APP跳转到另一个APP,并带参数跳到指定页面

    功能实现:A跳到B并打开B中指定页面 步骤: 1.首先创建两个项目(项目A,项目B),在项目B中的info.plist文件中添加URL Types,如下图所示:其中URL idenifier是项目B的 ...

  9. Android Stdio从一个界面跳转到另一个界面

    要自己生成一个模块然后通过点击事件点击就可以了 ,当然首先得有另一个界面控制台然后里面带上他的类名就可以了 startActivity(new Intent(this,Main3.class)); / ...

最新文章

  1. 107. Binary Tree Level Order Traversal II
  2. 为什么要放弃 Lombok ?
  3. 格式化时间算前七天php,php 格式化时间 秒前 分钟前 小时前 天前
  4. 脚本标记 - 异步和延迟
  5. IBM小型机维护文档
  6. 异步爬虫(爬取小说30秒12MB!)Python实现
  7. Linux程序在预处理、编译、汇编、链接、运行步骤的作用
  8. 一篇来自前端同学对后端接口的吐槽
  9. 飞鸽-http://www.freeeim.com/
  10. metro风格后台管理效果
  11. Netty的EventLoop
  12. 【elasticsearch系列】双击elasticsearch.bat闪退,日志排查报错信息
  13. 【Hbase】eclipse下远程调试Hbase
  14. RSA加密算法中的数学原理
  15. MATLAB线性方程组的两种求解,matlab求解线性方程组
  16. CamScanner扫描全能王视频教程-Array老师-专题视频课程
  17. C#实现Modbus协议与PLC通信
  18. 出大事了,涛哥你们Java应用GC后不释放内存
  19. 快速上手Ubuntu之安装常用软件篇——打造一个满足基本娱乐办公的Ubuntu
  20. javacv 视频转音频(提取视频中音频)

热门文章

  1. Ubuntu下安装依赖包问题总结
  2. 小明分享|nRF52840 蓝牙模块连接测试
  3. xiaocms php,XiaoCms PHP企业网站模板, ,后台可备份 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...
  4. 函数防抖和函数节流的最简单解释
  5. LeetCode 300. 最长上升子序列(Longest Increasing Subsequence)
  6. 单链表之头插法的理解!
  7. Redis Desktop Manager 利用ssh连接 Redis
  8. 【问题】用ant编译时,提示编码utf为不可映射字符
  9. UIDevice通知,键盘通知
  10. 7个优秀的javascript资源