Android:通过startActivityForResult方法来得到Activity的回传值
在一些情况下,我们通过 A activity跳转到 B activity上,这时希望 A activtiy能从 B activity上得到一些返回值,这个时候我们就不能使用startActivity方法了,而是使用 startActivityForResult方法来完成我们的操作。
例如,我们希望完成下面一个功能,在MainActivity上,写上一个算术表达式,然后跳转到到第二个SecondActivity上,在这个Activity上将第一个Activity的表达式显示出来,然后我们可以输入我们的算术表达式结果,然后点击按钮,将这个结果值又返回给我们的MainActivity
- public class MyList extends Activity {
- private EditText editView;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- editView = (EditText) findViewById(R.id.et);
- Button bt = (Button) findViewById(R.id.bt);
- bt.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(MyList.this, TestWidget.class);
- Bundle bundle = new Bundle();
- bundle.putString("text", editView.getText().toString());
- intent.putExtras(bundle);
- startActivityForResult(intent, 0);
- // finish(); //这句意思是关闭当前Activity,也就是说点返回键返回不到这个Activity了.
- }
- });
- }
- /**
- * 取到回传的值
- */
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- switch (resultCode) { // resultCode为回传的标记,我在B中回传的是RESULT_OK
- case RESULT_OK:
- Bundle b = data.getExtras(); // data为B中回传的Intent
- editView.setText(b.getString("text"));// 回传的值
- break;
- default:
- break;
- }
- }
- }
1 public class TestWidget extends Activity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.list_items); 7 8 Bundle bundle = getIntent().getExtras(); 9 10 final EditText editView = (EditText) findViewById(R.id.et1); 11 editView.setText(bundle.getString("text")); 12 13 Button bt = (Button) findViewById(R.id.bt1); 14 bt.setOnClickListener(new OnClickListener() { 15 @Override 16 public void onClick(View v) { 17 Intent intent = new Intent(TestWidget.this, MyList.class); 18 19 Bundle bundle = new Bundle(); 20 bundle.putString("text", editView.getText().toString()); 21 intent.putExtras(bundle); 22 23 setResult(RESULT_OK, intent); 24 finish(); // 这句意思是关闭当前Activity,也就是说点返回键返回不到这个Activity了. 25 } 26 }); 27 } 28 29 }
转载于:https://www.cnblogs.com/zcl1224/p/3691415.html
Android:通过startActivityForResult方法来得到Activity的回传值相关推荐
- 以回调形式使用startActivityForResult方法,并解决Activity被回收的问题
前言 之前写过一篇文章写一个逻辑清晰的startActivityForResult(),拒绝来回扒拉代码,写了使用回调形式使用startActivityForResult方法,配合Kotlin的语法, ...
- Android 组件系列-----Activity的传值和回传值
在这篇随笔里将讲解Activity的传值和回传值. 一.通过startActivity来进行Activity的传值 在Android中,如果我们要通过一个Activity来启动另一个Activity, ...
- Android系列之Activity的传值和回传值
Android系列之Activity的传值和回传值 Android 组件系列之Activity的传值和回传值 在这篇随笔里将讲解Activity的传值和回传值. 一.通过startActivity来进 ...
- Android之moveTaskToBack()方法实现手动隐藏当前Activity
1.moveTaskToBack()方法说明 moveTaskToBack()方法:在activity中调用 moveTaskToBack (booleannonRoot)方法即可将activity ...
- Android之startActivityForResult的使用
在Android中startActivityForResult主要作用就是: A-Activity需要在B-Activtiy中执行一些数据操作,而B-Activity又要将,执行操作数据的结果返回给A ...
- intent的startActivityForResult()方法
/******************************************************************************************** * aut ...
- android 之Activity的五种传值方式 (在从当前Activity跳转到目标Activity时的传值方式)
A.使用intent(意图)传值 MainActivity(源文件): 1.intent.putExtra(key,value):key一般是String,值为 java八大基本数据类 ...
- 【Android】startActivityForResult()与onActivityResult()与setResult()参数分析
一.使用场景 在一个主界面(主Activity)通过意图跳转至多个不同子Activity上去,当子模块的代码执行完毕后再次返回主页面,将子activity中得到的数据显示在主界面/完成的数据交给主Ac ...
- Android学习笔记系列四2 —— Activity的生命周期
2019独角兽企业重金招聘Python工程师标准>>> 启动一个Activity 使用startActivity(Intent intent). intent指定了你想要启动的act ...
最新文章
- 1291 火车线路(区间修改,区间最值)
- 【知识积累】C#中结构体和类的区别
- IT管理人员需要更加了解数据中心冷却情况
- 王者荣耀6月23服务器维护,王者荣耀6.23维护到什么时候?6月23日长枪掠火版本异常介绍...
- 目标检测之SSD数据处理、训练与预测流程记录
- 解决mapper.xml不在resource的时出现的错误nvalid bound statement (not found): com.dxl.system.mapper
- 微信,QQ抢红包软件原理解析
- python怎么读单词_利用Python制作查单词小程序(一):抓取来自百度翻译的单词释义和音标...
- 2020年北京给进口摩托车(川崎)交税、验车、上牌照流程
- 最新中国一二三四五线城市排名出炉!去这些城市买房准没错!
- Windows系统,文件和文件夹命名规则
- 怎样在excel表格中画斜线并打字_你会用Excel做 表头 吗?
- 高德地图api的使用
- 高职单招面试流程及技巧有哪些
- SSLOJ 1459.空间简单度【扫描线】【线段树】
- JS:二叉树(2)——递归操作节点、构造二叉树
- python识别人脸的年龄和性别_人脸识别是如何判断性别和年龄的?
- C语言 精典数值算法程序合集
- 设计高并发架构与系统多级缓存架构如何设计?
- echarts分享(四):双y轴图表刻度均匀分布问题
热门文章
- 2LIS_13_VDITM中开票项目数量计算错误
- FZU 1402 猪的安家 中国剩余定理
- java获取系统时间并自定义格式
- Rust FFI 编程--理解不同语言的数据类型转换
- (57)Verilog HDL选择运算符:?
- 114实名认证未通过_企业微信怎么实名认证?实名认证后还可以改吗?
- fft 相位谱_基于级联FFT的广义互相关算法在声源定位中的应用
- 数据结构之图的存储结构一及其实现
- 风险评估资产重要性识别_什么是风险分析,如何识别和评估风险?
- html里面textfield属性,StyleableTextField的CSS属性htmlText