Android startActivity()和onActivityResult()使用总结(转载)
有三个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); // 或者将数据打包到BundlesetResult(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;}} |
Android startActivity()和onActivityResult()使用总结(转载)的更多相关文章
- Android 操作系统的内存回收机制(转载)
Android 操作系统的内存回收机制(转载) Android APP 的运行环境 Android 是一款基于 Linux 内核,面向移动终端的操作系统.为适应其作为移动平台操作系统的特殊需要,谷歌对 ...
- Android浮窗权限研究(转载)
这篇博客主要介绍的是 Android 主流各种机型和各种版本的悬浮窗权限适配,但是由于碎片化的问题,所以在适配方面也无法做到完全的主流机型适配,这个需要大家的一起努力,这个博客的名字永远都是一个将来时 ...
- Android startActivity原理分析(基于Android 8.1 AOSP)
应用进程内 如何使用Intent做Activity的跳转 Intnet intent = new Intent(MainActivity.this,TestActivity.class); start ...
- Android中的onActivityResult和setResult方法的使用
如果你想在Activity中得到新打开Activity关闭后返回的数据,你需要使用系统提供的startActivityForResult(Intent intent,int requestCode)方 ...
- Android之动画的学习(转载)
Android动画学习笔记-Android Animation 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...
- Android开发之onActivityResult()中的resultCode为0,intent为null的解决办法
BUG:昨天在使用activity之间传值的时候,遇到了一个bug,该bug为:Activity A启动Activity B,然后在Activity B中取到一个值,并通过back键返回到Activi ...
- android - startActivity浅谈
当执行startActivity(Intent intent, Bundle options)函数的时候,应用程序不是直接呼叫另外一个Activity,而是将intent传进Android框架中.An ...
- android应用的优化建议(转载)
首先,这是我在http://www.oschina.net/translate/40-developer-tips-for-android-optimization看到的一片文章,感觉挺有道理的,所以 ...
- Android之Retrofit详解(转载)
说明:该文章转载于https://www.jianshu.com/p/a3e162261ab6 前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下 ...
随机推荐
- 【sql】关联查询+表自关联查询
表: 经销商 dealer 字段 uid parent_uid name 联系人 contact 字段 uid dealer_id contact_main 需求: 想要查询到经销商的信 ...
- Delphi 最小化程序到任务栏托盘 增加右键PopMenu
在做中间层时,中间层往往不需要点击关闭时立刻关闭,而是最小化到托盘.故而特意隐藏关闭按钮功能. 1)隐藏退出功能 用PopMenu退出菜单代替 1.增加popMenu退出菜单,绑定到窗体 2.增加变量 ...
- csharp 面向对象编程
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Shap ...
- Dubbo超时机制导致的雪崩连接
Bug影响:Dubbo服务提供者出现无法获取Dubbo服务处理线程异常,后端DB爆出拿不到数据库连接池,导致前端响应时间异常飙高,系统处理能力下降,核心基础服务无法提供正常服务. Bug发现过程: ...
- 适用于 Charles任 意版 本的 注 册 码
// Charles Proxy License // 适用于Charles任意版本的注册码,谁还会想要使用破解版呢. // Charles 4.2目前是最新版,可用. Registered Name ...
- Mysql 中文中繁杂的字 插入报错的 解决方案
首先 数据库默认编码选用 utf8 连接字符串也相应改成utf8,不能是gb2312
- vue - path
//path用来处理路径问题的. 1 const from = path.join(_dirname, './appes6/js'); => d:/Users/xxchi/Desktop/ES6 ...
- hdu1698 Just a Hook (线段树区间更新 懒惰标记)
Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- Property with 'retain (or strong)' attribute must be of object type
AFNetworking 2.0 当Deployment Target 低于6.0时,AFURLConnectionOperation.h,AFURLSessionManager.h @propert ...
- 【Java】Java_01初步
1.编程语言的发展史和发展主线 计算机语言如果你将它当做一个产品,就像我们平时用的电视机.剃须刀.电脑.手机等, 他的发展也是有规律的. 任何一个产品的发展规律都是:向着人更加容易使用.功能越来越强大 ...