Android startActivityForResult的基本用法详解

知识准备:

1、startActivityForResult(Intent intent, int requestCode):启动 Activity,同时等待该 Activity 返回数据。只有该 Activity 销毁时数据才会被返回。
参数 1:意图,封装要启动的 Activity,当然也可以携带数据
参数 2:请求码,如果是大于 0 的整数,那么该请求码会在 onActivityResult 中的 requestCode中出现,如果小于等于 0,则不会被返回。

2、onActivityResult(int requestCode, int resultCode, Intent data):当打开的 Activity 销毁的时候该方法会被调用,从该方法中获取销毁的 Activity 设置的数据。
参数 1:startActivityForResult 方法中的 requestCode
参数 2:setResult 方法中的 resultCode
参数 3:Intent 数据

3、setResult(int resultCode, Intent data),被打开的 Activity 如果想返回数据,则在销毁前一定要调用该方法,通过该方法设置数据。
参数 1:结果码,该结果码可以用于区分是哪个 Activity 给我们返回的数据
参数 2:设置的数据

MainActivity中

Intent intent = new Intent(MainActivity.this, NextActivity.class);
        startActivityForResult(intent, 0);

NextActivity中

Intent intent = new Intent();
        intent.setClass(NextActivity.this, MainActivity.class);
        intent.putExtra("mes", "我是Next中來的");
        setResult(0, intent);
        this.finish();

MainActivity中

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (data == null){
            return;
        }
        if (0 == requestCode) {
            if (0 == resultCode) {
                String s = data.getStringExtra("mes");
                mTv.setText(s);
            }
        }

    }

到此这篇关于Android startActivityForResult的基本用法详解的文章就介绍到这了,更多相关Android startActivityForResult内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • CPU,GPU,DPU,TPU,NPU,BPU等处理器的性能及概念

    目录 1.CPU 2.GPU 3.TPU 4.NPU 5.ASIC 6.BPU(Brain Processing Unit,大脑处理器) 7. DPU(Deep learning Processing Unit, 即深度学习处理器) 1.CPU CPU( Central Processing Unit, 中央处理器)就是机器的"大脑",也是布局谋略.发号施令.控制行动的"总司令官". CPU的结构主要包括运算器(ALU, Arithmetic and Logic U

  • C语言中lseek()函数和fseek()函数的使用详解

    C语言lseek()函数:移动文件的读写位置 头文件: #include <sys/types.h> #include <unistd.h> 定义函数: off_t lseek(int fildes, off_t offset, int whence); 函数说明: 每一个已打开的文件都有一个读写位置, 当打开文件时通常其读写位置是指向文件开头, 若是以附加的方式打开文件(如O_APPEND), 则读写位置会指向文件尾. 当read()或write()时, 读写位置会随之增加,ls

  • JavaScript navigator.userAgent获取浏览器信息案例讲解

    浏览器对于我们来说,可能是最熟悉的工具了.熟知的浏览器Firefox.Opera.Safari.IE.Chrome以外,据说世界上还有近百种浏览器.通常在开发的时候要做到兼容各种浏览器,因此提炼出判断浏览器类型及系统是很重要的. 先来看看什么是User-Agent?User-Agent是HTTP请求中的用户标识,一般发送一个能够代表客户端类型的字符串,比如浏览器类型 操作系统等信息.User-Agent 的约定格式是:应用名,跟一个斜线,跟版本号,剩下的是自由的格式. 此处我只实例展示几个浏览器

  • 一篇文章告诉你如何用python进行自动化测试,调用c程序

    目录 一.介绍 二.方法 三.示例 windows平台 1.编写搭建动态库c函数 2.python导入库 3.结果 linux平台 1.编写c程序 2.编译成so动态库 3.编写python导入库 4.执行 总结 一.介绍 python可以做测试c的程序, 用到ctypes模块 ctypes 有以下优点: Python内建,不需要单独安装 可以直接调用二进制的动态链接库 在Python一侧,不需要了解Python内部的工作方式 在C/C++一侧,也不需要了解Python内部的工作方式 对基本类型

  • 一篇文章告诉你如何用Python控制Excel实现自动化办公

    目录 1.安装 2.操作一个简单的Excel文档 3. 操作简单Excel文档并添加数据格式 4.Excel中添加不同类型的数据 5.Excel中添加数据图表 最后:可能给予你助力的教程 总结 1.安装 2.操作一个简单的Excel文档 操作注释及代码: 操作完成后,数据存储结果如下: 3. 操作简单Excel文档并添加数据格式 操作代码如下: 附带数据格式的定义 操作效果如图所示: 4.Excel中添加不同类型的数据 操作代码如下: 将不同的数据按照指定的格式添加到文件中 代码执行结果如下:

  • docker实现redis集群搭建的方法步骤

    目录 一.创建redis docker基础镜像 二.制作redis节点镜像 三.运行redis集群 引用: 摘要:接触docker以来,似乎养成了一种习惯,安装什么应用软件都想往docker方向做,今天就想来尝试下使用docker搭建redis集群. 首先,我们需要理论知识:Redis Cluster是Redis的分布式解决方案,它解决了redis单机中心化的问题,分布式数据库--首要解决把整个数据集按照分区规则映射到多个节点的问题. 这边就需要知道分区规则--哈希分区规则.Redis Clus

  • C语言lseek()函数详解

     头文件: #include <sys/types.h> #include <unistd.h> 函数原型: off_t lseek(int fd, off_t offset, int whence);//打开一个文件的下一次读写的开始位置 参数: fd 表示要操作的文件描述符 offset是相对于whence(基准)的偏移量 whence 可以是SEEK_SET(文件指针开始),SEEK_CUR(文件指针当前位置) ,SEEK_END为文件指针尾 返回值: 文件读写指针距文件开头

  • CSS将div内容垂直居中案例总结

    一.行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如: p { height:30px; line-height:30px; width:100px; overflow:hidden; } 这段代码可以达到让文字在段落中垂直居中的效果. 二.内边距(padding)法 另一种方法和行高法很相似,它同样适合一行或几行文字垂直居中,原理就是利用padding将内容垂直居中,比如: p { padding:20px 0

  • Android startActivityForResult的基本用法详解

    知识准备: 1.startActivityForResult(Intent intent, int requestCode):启动 Activity,同时等待该 Activity 返回数据.只有该 Activity 销毁时数据才会被返回. 参数 1:意图,封装要启动的 Activity,当然也可以携带数据 参数 2:请求码,如果是大于 0 的整数,那么该请求码会在 onActivityResult 中的 requestCode中出现,如果小于等于 0,则不会被返回. 2.onActivityRe

  • Android Button的基本用法详解及简单实例

    Android Button的基本用法详解 Button的Click点击事件处理: mButtonBack.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Log.e("================", "MenuBackBtnListen"); MenuimageView.setVisibility(View.INVISIBLE); mB

  • Android中persistent属性用法详解

    本文实例讲述了Android中persistent属性用法.分享给大家供大家参考,具体如下: 前段时间在研究telephony时,一直没有在framework下发现对telephony的初始化(PhoneFactory.Java中的makeDefaultPhones函数)的调用.结果全局搜索之后发现在application PhoneApp(packages/apps/Phone)中调用了.但是application PhoneApp既没有被Broadcast唤醒,也没有被其他service调用

  • Android ActionBar搜索功能用法详解

    本文实例讲述了Android ActionBar搜索功能用法.分享给大家供大家参考,具体如下: 使用ActionBar SearchView时的注意点: 首先要吐槽一下Android的官方Guide文档 ,关于用法讲得不明确,可能是一直没更新的原因吧. 本来照着文档搞了一下,hint死活出不来,也无法跳转到搜索结果Activity. StackOverflow也有人提出了这个问题,答案说得很明白 - 参考链接. 正确用法 1. 在AndroidManifest.xml中为提供SearchView

  • Android开发中LayoutInflater用法详解

    本文实例讲述了Android开发中LayoutInflater用法.分享给大家供大家参考,具体如下: 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化:而findViewById()是找xml布局文件下的具体widget控件(如Button.TextView等). 具体作用: 1.对于一个没有被载入或者想要动态载入的界面,都需要使用Layout

  • Android开发之自定义控件用法详解

    本文实例讲述了Android开发之自定义控件用法.分享给大家供大家参考,具体如下: 今天和大家分享下组合控件的使用.很多时候android自定义控件并不能满足需求,如何做呢?很多方法,可以自己绘制一个,可以通过继承基础控件来重写某些环节,当然也可以将控件组合成一个新控件,这也是最方便的一个方法.今天就来介绍下如何使用组合控件,将通过两个实例来介绍. 第一个实现一个带图片和文字的按钮,如图所示: 整个过程可以分四步走.第一步,定义一个layout,实现按钮内部的布局.代码如下: custom_bu

  • Android编程之光线传感器用法详解

    本文实例讲述了Android编程之光线传感器用法.分享给大家供大家参考,具体如下: Android手机自带光线传感器,通常我们手机的屏幕自动亮度都是用光线传感器来实现的.该传感器在前置摄像头附近,此外,还有一个距离传感器.这里主要讲解如何使用Android手机的光线传感器. 获得感应器服务 Android开发中要使用光线传感器,需要先获得系统传感器服务Context.SENSOR_SERVICE,获得方法如下: SensorManager senserManager = (SensorManag

  • android选项卡TabHost功能用法详解

    本文实例为大家分享了android选项卡TabHost功能用法,供大家参考,具体内容如下 首先定义三个xml文件,分别为l1.xml,l2.xml,l3.xml,每个选项卡的标签页的内容为一个xml文件. 其中l1.xml为: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andr

  • Android中Notification通知用法详解

    Notification的作用 通知(Notification)是Android系统中比较有特色的一个功能.当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以用通知来实现 用法 首先我们需要一个NotificationManager来对通知进行管理,可以调用getSystemService()方法得到,方法接收一个字符串参数用于确定获取系统的哪个服务,这里我们传入NOTIFICATION_SERVICE. NotificationManager manager=(No

  • Android中Shape的用法详解

    ShapeDrawable是一种很常见的Drawable,可以理解为通过颜色来构造的图形,它既可以是纯色的图形,也可以是具有渐变效果的图形,ShapeDrawabled语法稍显复杂,如下所示: <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectangle" | "oval" | "line" | &q

随机推荐