Android startActivity()和onActivityResult()使用总结(转载)
2024-08-25 18:41:23
有三个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 ; } } |
最新文章
- django系列--第一节
- Nginx 配置支持C++
- javascript eval和JSON之间的联系
- hive中导入json格式的数据(hive分区表)
- css 打字动画
- Android VideoView简单播放视频
- Java基础 Day14 泛型
- Unity 截取图片并且显示出来
- link与@import
- [LeetCode]题解(python):005-Longest Palindromic Substring
- Mini-project # 4 - ";Pong";___An Introduction to Interactive Programming in Python";RICE";
- Boost::Thread 多线程的基础知识
- TCPIP header
- MYSQL导入数据报错|MYSQL导入超大文件报错|MYSQL导入大数据库报错:2006 - MySQL server has gone away
- vb.net 代码建立控件,并显示在窗体上
- python学习之初识字符串
- Codeforces.1096E.The Top Scorer(组合)
- mysqlpump 和 mysql_config_editor测试
- 6-3 矩阵链成 uva 442
- Java中Asm包有什么用?
热门文章
- 【java】字符串的反转
- centos搭建git服务器(转)
- flask admin学习记录
- Scala快学笔记(三)
- Ubuntu Tomcat
- 解决ie下载apk后更改后缀名为.zip的问题
- lodash 提取前N个元素 take
- 用Volley-nullpointerexception
- AngularJs学习笔记(1)——ng-app
- @using (Html.BeginForm()) @using (Ajax.BeginForm(new AjaxOptions() { })) 区别