有三个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。

例:

1
2
3
4
5
6
7
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。

例:

1
2
3
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()中相对应

例:

1
2
3
4
5
6
7
8
9
10
11
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;
}
}

最新文章

  1. django系列--第一节
  2. Nginx 配置支持C++
  3. javascript eval和JSON之间的联系
  4. hive中导入json格式的数据(hive分区表)
  5. css 打字动画
  6. Android VideoView简单播放视频
  7. Java基础 Day14 泛型
  8. Unity 截取图片并且显示出来
  9. link与@import
  10. [LeetCode]题解(python):005-Longest Palindromic Substring
  11. Mini-project # 4 - "Pong"___An Introduction to Interactive Programming in Python"RICE"
  12. Boost::Thread 多线程的基础知识
  13. TCPIP header
  14. MYSQL导入数据报错|MYSQL导入超大文件报错|MYSQL导入大数据库报错:2006 - MySQL server has gone away
  15. vb.net 代码建立控件,并显示在窗体上
  16. python学习之初识字符串
  17. Codeforces.1096E.The Top Scorer(组合)
  18. mysqlpump 和 mysql_config_editor测试
  19. 6-3 矩阵链成 uva 442
  20. Java中Asm包有什么用?

热门文章

  1. 【java】字符串的反转
  2. centos搭建git服务器(转)
  3. flask admin学习记录
  4. Scala快学笔记(三)
  5. Ubuntu Tomcat
  6. 解决ie下载apk后更改后缀名为.zip的问题
  7. lodash 提取前N个元素 take
  8. 用Volley-nullpointerexception
  9. AngularJs学习笔记(1)——ng-app
  10. @using (Html.BeginForm()) @using (Ajax.BeginForm(new AjaxOptions() { })) 区别