`
trygood
  • 浏览: 78043 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

startActivityForResult 简介

 
阅读更多
依次打开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了。
分享到:
评论

相关推荐

    Android学习之路——4.Activity简介

    使用startActivityForResult()启动Activity,可以在目标Activity完成时回调onActivityResult(),从而将数据传回原Activity。 此外,"工具"标签可能意味着博客中会介绍一些调试Activity的工具或技巧,比如Android ...

    Android 图片选择 图片剪裁

    本文将详细介绍如何实现这一功能,并提供一个简单的代码简介。 首先,图片选择通常涉及到系统的相册集成。Android提供了Intent机制,允许开发者启动系统相册应用,让用户挑选所需的图片。你可以创建一个`Intent`,...

    android intent简介

    1. 启动Activity:通过`startActivity(Intent intent)`或`startActivityForResult(Intent intent, int requestCode)`来启动新的Activity。 2. 启动Service:使用`startService(Intent intent)`或`bindService(Intent...

    第6章组件通信与广播消息.pptx

    启动Activity后,可以通过startActivityForResult(Intent, int)方法启动,并在目标Activity中通过setResult(int, Intent)设置结果,然后在调用startActivityForResult()的Activity中重写onActivityResult(int, int, ...

    choosephoto:图片选择,主要用于头像修改

    ChoosePhoto1、[功能描述]:主要用于头像修改、单张图片选择上传2、[项目结构简介]:(1)example为demo,里面主要包括使用方式,如何调用;(2)library为依赖Module,第三方库引用的文件都在library文件夹里(3)...

    AndroidFilePicker.zip

    一、项目简介 AndroidFilePicker是开发者为了简化Android应用中文件选择过程而创建的开源库。它支持多种文件类型的选择,包括但不限于图片、视频、文档等,并且能够根据应用程序的需求进行定制,如调整UI样式、过滤...

    Android学习笔记-Activity篇

    1. 生命周期简介:Activity的生命周期由系统控制,主要分为` onCreate()`, `onStart()`, `onResume()`, `onPause()`, `onStop()`, 和 `onDestroy()`等几个关键阶段。 2. 保存activity状态:当Activity被系统销毁并...

    Android编程基础-实验报告三.doc

    - 使用`startActivityForResult()`启动Activity并在该Activity结束时通过`onActivityResult()`方法接收返回的数据。 - 示例代码:`startActivityForResult(intent, SUBACTIVITY1);` - 在`onActivityResult()`中...

    APP开发教程 Java Android移动端开发 6、Android应用程序组件之二-Activity交互及权限 共24页.pptx

    - **Fragment简介**: Fragment是一种可以嵌入Activity的UI片段,它可以被视为一个可重用的模块。使用Fragment可以提高代码的复用率,并且使得界面更加灵活多变。 - **Fragment的生命周期**: Fragment具有与...

    android核心技术与实例详解光盘源代码1

    1. **第1章:Android简介与开发环境搭建** - Android操作系统概述,包括其历史、版本迭代以及在移动设备上的应用。 - 安装和配置Android Studio,它是官方推荐的Android开发集成开发环境(IDE)。 - 创建第一个...

    Android Studio 实现简单的头像上传

    1. **Android Studio简介**:Android Studio是Google推出的一款集成开发环境(IDE),专为Android应用开发设计,支持Java、Kotlin和C++等编程语言。它提供了丰富的工具和功能,如代码编辑、调试、性能分析以及构建...

    weibo.sdk.android.demo.zip

    一、微博SDK简介 微博SDK是新浪微博官方推出的一套开发工具,适用于Android、iOS等多个平台。它包含了用户登录、内容分享、消息推送等功能,帮助开发者快速构建具备微博社交特性的应用。其中,SSO授权是一种便捷的...

    HMSscandemo.zip

    【HMS Scankit SDK简介】 华为移动服务(Huawei Mobile Services, HMS)是一套全面开放的移动服务生态系统,为企业和开发者提供了丰富的工具和API,帮助他们构建、运营和推广应用。其中,HMS Scankit是华为提供的...

    android 蓝牙SPP传输demo.rar

    一、蓝牙SPP简介 SPP是蓝牙应用层的一种标准,它模仿了传统的串行端口通信,允许设备通过蓝牙进行双向、全双工的数据交换。在Android中,SPP通常用于连接到其他支持SPP的设备,如嵌入式系统、Arduino控制器或专用的...

    长春工程学院-Android移动互联网期末考试编程题

    - **SQLite简介**:SQLite是一个轻量级的关系型数据库管理系统,非常适合嵌入到Android应用中使用。 - **创建数据库**:通过继承SQLiteOpenHelper并重写其onCreate和onUpgrade方法来创建和升级数据库。 - **数据库...

    Android AIDL进程间通信

    **AIDL简介** AIDL是Android设计的一种接口定义语言,类似于Java中的接口,但其目的是为了在Android的多进程中创建可调用的接口。当一个应用需要与另一个应用的组件进行通信时,如果涉及跨进程操作,就需要使用AIDL...

    Android编程四大组件之Activity用法实例分析

    当需要从新启动的Activity获取数据时,可以使用startActivityForResult()方法,并在原Activity中重写onActivityResult()方法。 ```java // 在MainActivity中启动并等待返回 Intent intent = new Intent(this, ...

    Android相机调用

    一、Android相机API简介 Android提供了多种方式来调用相机,包括使用Intent和Camera API。Intent方式简单易用,适合只需基本拍照功能的场景;而Camera API则提供了更底层的控制,可以定制更多高级特性。 1. 使用...

    Android 视频浮动窗口源码.rar

    startActivityForResult(intent, REQUEST_OVERLAY_PERMISSION); } } ``` 接着,我们需要创建一个悬浮窗视图。这通常是一个自定义的`ViewGroup`,比如`FrameLayout`,包含一个`SurfaceView`或`TextureView`用于...

    图片选择picture_library,摘出部分对自己有用的

    一、PictureSelector简介 PictureSelector是由Lubang团队开发的一款Android图片选择框架,它支持多种选择模式(单选、多选)、多种图片加载库(如Glide、Picasso)的集成,并且可以自定义裁剪、预览等功能,极大地...

Global site tag (gtag.js) - Google Analytics