依次打开Activity A1--A2--A3--A4 这时候你如果想从第四个返回到第一Activity 的时候,就用到了startActivityForResult 这个方法了。
startActivityForResult(intent, requestCode)
复制代码
两个参数 一个是第一好的意图对象,另一个是请求代码。
A1 的 intent 定义是
Intent intent = new Intent(); intent.setClass(this,A2.class);
复制代码
指定一个 int 作为 requestCode 比如 startActivityForResult(intent, 1);
A2 的 intent 定义是
Intent intent = new Intent(); intent.setClass(this,A3.class);
复制代码
指定一个 int 作为 requestCode 比如 startActivityForResult(intent, 1);
A3 的 intent 定义是
Intent intent = new Intent(); intent.setClass(this,A4.class);
复制代码
指定一个 int 作为 requestCode 比如 startActivityForResult(intent, 1);
A4 添加一个返回按钮 点击的事件里写
public void 点击事件{
//this.setResult(int resultCode)
this.setResult(10)
this.finish();
}
复制代码
这时候点击A4的返回按钮时候,先设置 resultCode 给上一个 A3 来判断,然后关闭A4
关闭A4触发A3里面的方法,onActivityResult(int requestCode, int resultCode, Intent data)
在这个方法里面做判断就行了。
前两个参数分别是 我们设置的 requestCode 和 resultCode
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1&& resultCode == 10){
this.setResult(10);
this.finish();
}
}
复制代码
此方法先匹配 requestCode 和 resultCode 然后设置 resultCode 在关闭A3,想同的道理关闭A2
这样就返回A1了。
startActivityForResult(intent, requestCode)
复制代码
两个参数 一个是第一好的意图对象,另一个是请求代码。
A1 的 intent 定义是
Intent intent = new Intent(); intent.setClass(this,A2.class);
复制代码
指定一个 int 作为 requestCode 比如 startActivityForResult(intent, 1);
A2 的 intent 定义是
Intent intent = new Intent(); intent.setClass(this,A3.class);
复制代码
指定一个 int 作为 requestCode 比如 startActivityForResult(intent, 1);
A3 的 intent 定义是
Intent intent = new Intent(); intent.setClass(this,A4.class);
复制代码
指定一个 int 作为 requestCode 比如 startActivityForResult(intent, 1);
A4 添加一个返回按钮 点击的事件里写
public void 点击事件{
//this.setResult(int resultCode)
this.setResult(10)
this.finish();
}
复制代码
这时候点击A4的返回按钮时候,先设置 resultCode 给上一个 A3 来判断,然后关闭A4
关闭A4触发A3里面的方法,onActivityResult(int requestCode, int resultCode, Intent data)
在这个方法里面做判断就行了。
前两个参数分别是 我们设置的 requestCode 和 resultCode
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1&& resultCode == 10){
this.setResult(10);
this.finish();
}
}
复制代码
此方法先匹配 requestCode 和 resultCode 然后设置 resultCode 在关闭A3,想同的道理关闭A2
这样就返回A1了。
发表评论
-
startActivityForResult
2011-03-29 15:49 1129startActivityForResult 方法-- ... -
史上最全的Android的Tab与TabHost讲解
2011-03-28 11:22 1566Tab与TabHost 这就是Tab,而盛放Tab的 ... -
Android对话框
2011-03-25 11:21 1113Android 对话框(Dialog)大全 ... -
PreferenceActivity详解
2011-03-25 11:15 1430为了引入这个概率 首先从需求说起 即:现有某Activity专 ... -
TCP/UDP/HTTP
2011-03-25 11:09 1111先来一个讲TCP、UDP和HTTP ... -
9png
2011-03-25 11:08 1902今天学习了用9png图来优化横屏竖屏的UI,使用sdk自带的工 ... -
Notification
2011-03-25 11:07 923Android系统的状态栏(Status Bar)中有一个创新 ... -
一些技巧
2011-03-25 11:03 7651:查看是否有存储卡插入 String status=Envi ... -
布局像素单位
2011-03-25 11:03 811Android的layout文件中有时候可能会指定具体的单位, ... -
使用ActivityGroup来切换Activity和Layout
2011-03-25 11:02 1113在一个主界面中做Activity切换一般都会用TabActiv ... -
activitygroup
2011-03-25 11:01 1676说说tabhost和activitygroup 最近 ... -
线程
2011-03-25 11:01 998今天在论坛上看到一些关于线程的帖子,我觉得与我理解的有些差异, ... -
类级框架
2011-03-25 11:00 730类集框架:Collection,Map,Iterator,En ... -
Intent打电话
2011-03-25 11:00 1196intent英文意思是意图,pending表示即将发生或来临的 ... -
Intent Uri
2011-03-25 10:59 1053进入联系人页面 1.Intent intent = new I ... -
Service
2011-03-25 10:59 932一、Service的概念 Service是Android程序中 ... -
Broadcast Receiver
2011-03-25 10:56 1920一、Broadcast Receiver简介 Android中 ... -
ContentProvider MIME类型
2011-03-25 10:55 1229Android程序的主要4部分 ... -
ContentProvider-1查询
2011-03-25 10:55 1215今天看了android的官方文档中ContentProvide ... -
ContentProvider-2modify data:insert,update,delete
2011-03-25 10:54 1184今天补充关于modify data ...
相关推荐
使用startActivityForResult()启动Activity,可以在目标Activity完成时回调onActivityResult(),从而将数据传回原Activity。 此外,"工具"标签可能意味着博客中会介绍一些调试Activity的工具或技巧,比如Android ...
本文将详细介绍如何实现这一功能,并提供一个简单的代码简介。 首先,图片选择通常涉及到系统的相册集成。Android提供了Intent机制,允许开发者启动系统相册应用,让用户挑选所需的图片。你可以创建一个`Intent`,...
1. 启动Activity:通过`startActivity(Intent intent)`或`startActivityForResult(Intent intent, int requestCode)`来启动新的Activity。 2. 启动Service:使用`startService(Intent intent)`或`bindService(Intent...
启动Activity后,可以通过startActivityForResult(Intent, int)方法启动,并在目标Activity中通过setResult(int, Intent)设置结果,然后在调用startActivityForResult()的Activity中重写onActivityResult(int, int, ...
ChoosePhoto1、[功能描述]:主要用于头像修改、单张图片选择上传2、[项目结构简介]:(1)example为demo,里面主要包括使用方式,如何调用;(2)library为依赖Module,第三方库引用的文件都在library文件夹里(3)...
一、项目简介 AndroidFilePicker是开发者为了简化Android应用中文件选择过程而创建的开源库。它支持多种文件类型的选择,包括但不限于图片、视频、文档等,并且能够根据应用程序的需求进行定制,如调整UI样式、过滤...
1. 生命周期简介:Activity的生命周期由系统控制,主要分为` onCreate()`, `onStart()`, `onResume()`, `onPause()`, `onStop()`, 和 `onDestroy()`等几个关键阶段。 2. 保存activity状态:当Activity被系统销毁并...
- 使用`startActivityForResult()`启动Activity并在该Activity结束时通过`onActivityResult()`方法接收返回的数据。 - 示例代码:`startActivityForResult(intent, SUBACTIVITY1);` - 在`onActivityResult()`中...
- **Fragment简介**: Fragment是一种可以嵌入Activity的UI片段,它可以被视为一个可重用的模块。使用Fragment可以提高代码的复用率,并且使得界面更加灵活多变。 - **Fragment的生命周期**: Fragment具有与...
1. **第1章:Android简介与开发环境搭建** - Android操作系统概述,包括其历史、版本迭代以及在移动设备上的应用。 - 安装和配置Android Studio,它是官方推荐的Android开发集成开发环境(IDE)。 - 创建第一个...
1. **Android Studio简介**:Android Studio是Google推出的一款集成开发环境(IDE),专为Android应用开发设计,支持Java、Kotlin和C++等编程语言。它提供了丰富的工具和功能,如代码编辑、调试、性能分析以及构建...
一、微博SDK简介 微博SDK是新浪微博官方推出的一套开发工具,适用于Android、iOS等多个平台。它包含了用户登录、内容分享、消息推送等功能,帮助开发者快速构建具备微博社交特性的应用。其中,SSO授权是一种便捷的...
【HMS Scankit SDK简介】 华为移动服务(Huawei Mobile Services, HMS)是一套全面开放的移动服务生态系统,为企业和开发者提供了丰富的工具和API,帮助他们构建、运营和推广应用。其中,HMS Scankit是华为提供的...
一、蓝牙SPP简介 SPP是蓝牙应用层的一种标准,它模仿了传统的串行端口通信,允许设备通过蓝牙进行双向、全双工的数据交换。在Android中,SPP通常用于连接到其他支持SPP的设备,如嵌入式系统、Arduino控制器或专用的...
- **SQLite简介**:SQLite是一个轻量级的关系型数据库管理系统,非常适合嵌入到Android应用中使用。 - **创建数据库**:通过继承SQLiteOpenHelper并重写其onCreate和onUpgrade方法来创建和升级数据库。 - **数据库...
**AIDL简介** AIDL是Android设计的一种接口定义语言,类似于Java中的接口,但其目的是为了在Android的多进程中创建可调用的接口。当一个应用需要与另一个应用的组件进行通信时,如果涉及跨进程操作,就需要使用AIDL...
当需要从新启动的Activity获取数据时,可以使用startActivityForResult()方法,并在原Activity中重写onActivityResult()方法。 ```java // 在MainActivity中启动并等待返回 Intent intent = new Intent(this, ...
一、Android相机API简介 Android提供了多种方式来调用相机,包括使用Intent和Camera API。Intent方式简单易用,适合只需基本拍照功能的场景;而Camera API则提供了更底层的控制,可以定制更多高级特性。 1. 使用...
startActivityForResult(intent, REQUEST_OVERLAY_PERMISSION); } } ``` 接着,我们需要创建一个悬浮窗视图。这通常是一个自定义的`ViewGroup`,比如`FrameLayout`,包含一个`SurfaceView`或`TextureView`用于...
一、PictureSelector简介 PictureSelector是由Lubang团队开发的一款Android图片选择框架,它支持多种选择模式(单选、多选)、多种图片加载库(如Glide、Picasso)的集成,并且可以自定义裁剪、预览等功能,极大地...