文档章节

Android startActivity()和onActivityResult()使用总结

m
 mengyrlind
发布于 2014/09/10 10:39
字数 260
阅读 105
收藏 0

有三个Activity: A.java ,B.java ,C.java

Activity之间的跳转常用方法:

1. startActivity(Intent intent);

    该方法只用于启动新的Activity


2.startActivityForResult(Intent intent, int requestCode);

    该方法做两件事:一.启动新的Activity  二.回收启动的Activity返回的结果

(1)A.java中

     startActivityForResult(Intent intent, int requestCode);

      requestCode:  是自定义的int型常量, requestCode >=0

     例:

if(条件){
   Intent intent = new Intent(this, B.class);
   startActivityForResult(intent, REQUEST_CODE_01);//跳转至B.java
}else{
   Intent intent = new Intent(this, C.class);
  startActivityForResult(intent, REQUEST_CODE_02);//跳转至C.java
}

(2)B.java 或者C.java

   setResut(int resultCode, Intent intent)

   resultCode:用于标识B.java几种不同的返回结果。没有特殊情况时,用RESULT_OK。

   例:

Intent intent = new Intent();
intent.putExtra(key, value);    // 或者将数据打包到Bundle
setResult(RESULT_OK, intent);

(3)A.java

    onActivityResult(int requestCode, int resultCode, Intent data)

     requestCode: 用于区分哪个子模块回传的数据。

     data: 回传的数据。

               Bundle b = data.getExtras();

               String str = b.getString("string");

      resultCode: 与setResult()中相对应

     例:

public void onActivityResult(int requestCode, int resultCode, Intent data){
          switch (requestCode) {
case REQUEST_CODE_01:
                        if(resultCode==Activity.RESULT_OK)
                        //do something
                        break;
case REQUEST_CODE_02:
                       //do something
                        break;
}
}

© 著作权归作者所有

m
粉丝 1
博文 9
码字总数 6687
作品 0
南京
私信 提问
Android Activity---启动Activity

你能够通过调用startActivity()方法来启动另外一个Activity,在调用这个方法时要给它传递一个你想要启动的描述Activity的Intent作为参数。这个Intent既可以确切的指定你想要启动的Activity,...

长平狐
2012/10/16
2.1K
0
调用startActivityForResult后,onActivityResult立刻响应,返回当

调用startActivityForResult后,onActivityResult立刻响应,返回当前页,有需要的朋友可以参考下。 这个问题浪费了我很多时间,参考了网上的一些博客,找到了原因,在此感谢那些分享知识的好...

丁佳辉
2015/11/18
100
0
Android使用Intent调用摄像头并获取照片

使用Android的Intent调用另外一个activity的时候,采用的是多线程机制,异步方式。startActivityForResult之后被调用activity并没有马上返回结果给调用activity,Android的Acitivity对象中s...

huist
2015/11/13
1K
0
android的Activity之间的数据传递

首先给大家介绍一下android中的activity: 一个activity一般代表手机屏幕的一屏,概念相当与网页。一般来说一个android应用是由一个或多个activity组成,activity直接可进行跳转,直接也可以...

我希冀着
2011/09/10
6K
2
Android 深入探讨Activity的四种启动模式

四种启动模式的异同点 1.singleTask,singletop,singleInstance 某种情况下基本上都具有保证Activity在任务栈中具有唯一性 2.singleTask和singleTop实例存在时,singleTask不会创建实例,sin...

IamOkay
2014/11/22
213
0

没有更多内容

加载失败,请刷新页面

加载更多

左边竖条的实现方法

下面这个图形,只使用一个标签,可以有多少种实现方式: 假设我们的单标签是一个 div : 1 < div > div> 定义如下通用CSS: 1 2 3 4 5 6 div{ position : relative ; width : 200px ; height ...

前端老手
24分钟前
2
0
java利用ECHARTS.JS在前台显示图表

步骤1: (1)在java后台,使用MSQL分组函数,列出所有线在对应的点的值, (2)组成的Map如图所示: 注意: key为0的value表示X轴需要的数据;key为其他的值表示图表线条的名字,value为x轴的点对应的y...

文文1
27分钟前
6
0
解题博客

https://blog.csdn.net/hk2291976/article/category/9265848

素雷
52分钟前
4
0
linux-ubuntu下使用linuxdeployqt+appimagetool将qt程序打包成xxx.AppImage文件

下文中提及的inuxdeployqt patchelf appimagetool工具及示例下载地址: 链接: https://pan.baidu.com/s/1BGm_btMIe75uW9hOC09Xlg 提取码: 7ayh 需要创建目录及文件 xxx.AppDir xxx.AppDir/Ap...

shzwork
56分钟前
5
0
javascript-ASCII码混合四位随机验证码

// 产生一个随机字符库:数字大写小写的数量是对应的 function randomStr(){ // 产生库 var strData = ""; for(var i=0;i<4;i++){ var num = random(0,9); var az = String.fromCharCode(ra......

ACKo
57分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部