- 浏览: 411556 次
文章分类
- 全部博客 (327)
- Android (114)
- Java (13)
- Java基础 (14)
- Glib (2)
- linux (15)
- extjs (5)
- eclipse (2)
- Asterisk (56)
- MYSQL (6)
- 数据库 (9)
- PHP (7)
- C# (18)
- 杂谈~~ (1)
- web开发前端 (3)
- 网络编程 (2)
- Opensips (2)
- voip (3)
- debian (7)
- openfire (15)
- wordpress (1)
- 版本控制 (1)
- Android 线程服务广播 (1)
- SRTP (2)
- 单片机及ARM等 (3)
- 基础知识 (5)
- asp.net (2)
- 单片机 (1)
- 设计模式及架构 (1)
- 安全 (1)
- Cubieboard 草莓树莓各类派 Android开发板 (1)
- J2EE (2)
- BootStrap (3)
- BootStrap web前端开发 (1)
- web前端开发 (4)
- object-c (1)
- openwrt (8)
- 智能家居 (4)
- Node.js (4)
最新评论
-
xiaoxiecomeon:
你这个程序一存在线程的时间片相互抢占的问题,运行时间长了很可能 ...
Runnable 和 Thread -
dotjar:
我觉得话应该这么说:引用TestThread tt = new ...
Runnable 和 Thread -
dagf113225:
调用TelephonyManager的隐藏API是先参考Fra ...
Android提高第十四篇之探秘TelephonyManager
假设:我这里有两个Activity:A和B,从A中向B中传递数据的时候采用的是Bundle封装数据,然后从A中跳转到B中,当B有需求将数据封装起来回传给A并跳转回A。那么A中接收数据时还要先判断Bundle是否为空,因为第一次访问A的时候(即B还没有回传的时候),Bundle是为空的,这样显然是比较麻烦的,不明智的做法。
还好startActivityForResult来做跳转给了我们更好的解决办法。
1.跳转的时候不是采用startActivity(intent) 这个方法,而是startActivityForResult(intent, 0)。
Intent intent=new Intent(); intent.setClass(A.this, B.class); Bundle bundle=new Bundle(); String str1="aaaaaa"; bundle.putString("str1", str1); intent.putExtras(bundle); startActivityForResult(intent, 0); //这里采用startActivityForResult来做跳转,此处的0为一个依据,可以写其他的值,但一定要>=0
2.重写onActivityResult方法,用来接收B回传的数据。
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 String str=b.getString("str1");//str即为回传的值 break; default: break; } }
3.在B中回传数据时采用setResult方法,并且之后要调用finish方法。
这样当B中调用finish方法的时候,跳转到A时会自动调用onActivityResult方法,来获取B中回传的intent了。
setResult(RESULT_OK, intent); //intent为A传来的带有Bundle的intent,当然也可以自己定义新的Bundle finish();//此处一定要调用finish()方法
这样当B中调用finish方法的时候,跳转到A时会自动调用onActivityResult方法,来获取B中回传的intent了。
发表评论
-
直接拿来用!最火的Android开源项目整理
2015-09-16 10:13 600一、代码库 1、from 代码家 整理比较好的源 ... -
探讨android更新UI的几种方法
2014-06-09 23:27 614今天讲的内容非常简单,只是讲讲有关于android界面更新的 ... -
Android 滑动切换页面 以及屏幕手势
2014-05-08 17:49 525手机进入智能机时代,触摸屏也已成为主流之势,原来的手机按键也 ... -
android 用Achartengine 作图
2014-05-08 16:55 759Achartengine 是google的一 ... -
Android中使用Animation实现控件的动画效果以及Interpolator和AnimationListener的使用
2014-05-08 16:28 768Animation的4个基本动画效果 What is An ... -
java.lang.ClassNotFoundException: Didn't find class "android.support.v4.view.Vie
2014-05-06 14:43 2931Android错误:Caused by: java.lang ... -
Android Socket通信如何设置超时时间
2014-05-06 14:14 1078其实关于这个问题可能用到的人不会很多,不过我在这里还是说说。 ... -
【转】Android本地语音识别引擎PocketSphinx-语言建模
2014-02-13 10:35 1829Android本地语音识别引擎PocketSphinx- ... -
关于build.prop原始Dalvik虚拟机设定与调整
2013-09-05 10:40 1260原厂S3 台版 1GB Ramsystem/build.pro ... -
Android中Service与IntentService的使用比较
2013-09-04 15:24 1202该博客来自网络——— ... -
android 应用程序Activity之间数据传递与共享的几种途径
2013-08-01 17:24 9051.基于消息的通信机制 Intent ---boud ... -
android数据通信方式
2013-08-01 17:15 911http://www.itkee.com/develope ... -
“android.intent.category.DEFAULT”的目的是什么?
2013-07-31 16:43 5381、要弄清楚这个问题,首先需要弄明白什么是implicit( ... -
集成拨号盘,2句话的事情
2013-07-30 15:45 601<intent-filter> < ... -
Android TabHost动态加载内容总结
2013-07-25 17:49 953前面用继承TabActivity的方法很好的完成了,TabHo ... -
[Android实例] android json
2013-07-17 15:20 653import java.io.ByteArrayOutput ... -
android json解析及简单例子
2013-07-17 15:19 931JSON的定义: 一种轻量级的数据交换 ... -
AsyncTask的用法-UI刷新发放
2013-07-15 14:50 665在开发Android应用时必须遵守单线程模型的原则: A ... -
java.lang.OutOfMemoryError处理错误
2013-07-15 14:41 671java.lang.OutOfMemoryError异常解决 ... -
关于android.view.WindowLeaked异常的解决方案
2013-07-15 10:34 613Android.view.WindowLeaked按字面了解, ...
相关推荐
但是当我们需要从被启动的Activity回传数据给启动它的Activity时,就需要使用`startActivityForResult()`了。 #### 三、`startActivityForResult()`详解 `startActivityForResult()`是一种特殊的Activity启动方式...
本实验的主题“使用Intent回传数据”聚焦于如何通过Intent对象在活动(Activity)之间进行数据的传递,这对于理解和构建复杂的Android应用程序至关重要。 1. **Intent基础**: Intent主要分为显式Intent和隐式...
总的来说,`startActivityForResult`是Android应用中实现Activity间数据交换的关键机制,理解和熟练使用它对于开发复杂的Android应用至关重要。通过这种方式,我们可以灵活地在不同的Activity之间传递信息,实现用户...
在启动新Activity时,我们可以把这些数据打包进Intent的Extras中,然后在接收Activity中使用getIntent().getExtras()来获取这些数据。 3. **StartActivityForResult()**: 当需要从目标Activity返回数据时,我们可以...
1. **在B中准备回传数据**:在B中,当需要将数据回传给A时,同样通过`Intent`对象携带数据,并使用`setResult()`方法将其设置为返回结果。 ```java Intent newIntent = new Intent(); newIntent.putExtra(...
resultIntent.putExtra("key", "回传数据"); setResult(RESULT_OK, resultIntent); finish(); ``` 在父Activity中,重写`onActivityResult()`方法来接收回传的数据: ```java @Override protected void ...
以上就是关于"Html调Android拍照回传地址回显"的知识点详解,涵盖了混合开发中的H5与Android交互、相机调用、图片处理以及数据传输等多个方面。掌握这些技术,可以帮助开发者构建更加丰富且功能强大的混合应用。
在`IntentTest`项目中,可能包含了一些示例代码,演示了如何使用`startActivityForResult()`启动一个新Activity,然后在新Activity中执行某些操作并回传数据。这个项目可以帮助开发者更好地理解和实践上述概念。 ##...
在Android开发中,"android拍照截图回传"这个主题涉及到几个关键知识点,包括启动相机、截取屏幕图像以及处理返回的数据。以下是对这些知识点的详细解释: 1. **启动相机**: 在Android中,我们可以使用`Intent`来...
在这个“摘桃子游戏”实例中,我们学习了如何在Android的不同Activity之间传递和回传数据,这对于构建复杂的应用程序至关重要。理解并熟练掌握这一技术,可以帮助我们更高效地组织和管理应用程序的流程。同时,我们...
最后,使用`startActivityForResult()`方法启动页面2,并指定一个请求码,用于在数据回传时识别哪个请求返回了数据: ```java startActivityForResult(intent, 0); ``` 在页面2中,我们需要获取传入的数据。这可以...
在Android应用开发中,数据的传递是至关重要的。本文主要探讨两种常见的传值方式:从一个页面(Activity)跳转到另一个页面时传递值,以及从第二个页面返回时将值带回给第一个页面。 首先,我们来看第一种传值方式...
如果需要回传数据(例如,用户编辑了联系人信息),可以使用startActivityForResult()启动详情页,然后在onActivityResult()中处理返回的结果。 在详情页中,我们需要根据接收到的联系人数据来填充UI元素。这可能...
**Intent回传数据**:当一个Activity需要返回结果给启动它的Activity时,可以使用startActivityForResult()方法启动新Activity,并在完成操作后通过setResult()设置结果,原Activity会在onActivityResult()回调中...
总结起来,`startActivityForResult`是Android中实现Activity间数据双向传递的有效手段,它提供了发送请求、处理结果的完整流程。在实际开发中,可以灵活运用这个方法来解决各种数据交互场景,比如选择图片、填写...
对于`Activity2`的跳转,额外使用了`startActivityForResult()`方法,这是因为可能需要从`Activity2`回传数据到`Wh4Activity`,这将在下文中详细讨论。 #### 二、数据传递 在跳转到`Activity2`时,代码通过`intent...
- 学习使用startActivityForResult()进行数据回传。 5. **第5章:多线程与异步处理** - 理解Android中的主线程(UI线程)和子线程,以及它们之间的交互限制。 - 使用Handler、Looper和Message进行线程间通信。 ...
5. **回传数据到Activity1** 当Activity2需要将数据返回给Activity1时,可以通过设置结果并使用`setResult()`方法。通常在完成某些操作后(比如用户做出选择),调用`finish()`结束当前Activity: ```java ...
总结来说,`startActivityForResult()`和`setResult()`是Android中实现`Activity`间通信的重要手段,尤其适用于需要返回数据的情况。通过理解这两个方法以及如何在`onActivityResult()`中处理返回的结果,开发者能够...
在Android中,当你启动一个新的`Activity`并希望在用户完成某些操作后得到结果,就需要使用`startActivityForResult()`方法而不是普通的`startActivity()`. 这个方法允许你在启动`Activity`时设置一个请求码,当目标...