领导说我基础差,我也没反驳,知识忘记了,用到的时候查一下不久行了吗,自己最近在回顾知识 好好的在补充一下,今天礼拜日,趁着空闲事件记录一下简单的知识

startActivityForResult() 也是经常使用到比如我们做城市选择点击城市,返回点击的城市等等,

使用startActivityForResult()方法 你需要清楚

1 startActivityForResult(Intent intent, int requestCode)

Intent intent就和普通的activity跳转一样 可能是activity或者数据

int requestCode 这个是自己写的标记,可能一个界面跳转不懂的界面做区分的,不过这个虽说是自己随意取的,但是是负数的时候

好像不行,

这个自己理解为跳转界面并且添加一个标记

2 setResult(int resultCode, Intent data)

int resultCode 这个就是返回码,用来标记成功或者失败 可以自己写一个或者使用官方的RESULT_OK

Intent data 这个就是要返回的数据

下面是源码的注释

* @param resultCode The result code to propagate back to the originating
*                   activity, often RESULT_CANCELED or RESULT_OK
* @param data The data to propagate back to the originating activity.

写这个主要是返回数据

3 onActivityResult(requestCode, resultCode, data);

跳转过去了,然后别的界面也返回了,这个就是接受值的作用了,

requestCode 就是跳转界面自己添加的标记区分

resultCode 这个是返回值界面的自己写的状态码

data 是返回值界面值

介绍完了 写一个案例 练习一下

要实现的效果图,就是姓名是第二个界面返回的

个人信息界面

package com.hly.mydemo.utils;import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;import com.hly.mydemo.R;public class InformatonActivity extends AppCompatActivity {public static final int REQUEST_NICK = 0x100;private TextView name;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.information_activity_layout);name = findViewById(R.id.name);findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(InformatonActivity.this, NickNameActivity.class);startActivityForResult(intent, REQUEST_NICK);}});}@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);//需要先判断resultcode返回的情况,然后还需要判断requestcode属于是那个activityif (resultCode == RESULT_OK &&requestCode == REQUEST_NICK) {name.setText(data.getStringExtra("nick"));}}
}

返回姓名界面

public class NickNameActivity extends AppCompatActivity{@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.nickname_activity_layout);findViewById(R.id.cons).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent();intent.putExtra("nick", "小牧");setResult(RESULT_OK, intent);finish();}});}
}

Android startActivityForResult()的用法相关推荐

  1. Android之Adapter用法总结

    本文转自http://kb.cnblogs.com/a/2328334/,转载请注明原出处. Android之Adapter用法总结 作者:Devin Zhang  来源:博客园  发布时间:2012 ...

  2. Android的Adapter用法总结

    Android之Adapter用法总结 1.Adapter概念   定义为将一个类的接口变换成客户端所期待的一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作.   在androi ...

  3. Android webservice的用法详细讲解

    Android webservice的用法详细讲解 看到有很多朋友对WebService还不是很了解,在此就详细的讲讲WebService,争取说得明白吧.此文章采用的项目是我毕业设计的webserv ...

  4. android room表关联,Android Room的用法

    Android Room的用法 SQLite是Android内置的轻量级关系型数据库,但直接使用SQLite core包做数据库操作有以下劣势:需要编写长且重复的代码,这会很耗时且容易出错. 管理SQ ...

  5. android图片显示组件,Android可循环显示图像的Android Gallery组件用法实例

    本文实例分析了Android可循环显示图像的Android Gallery组件用法.分享给大家供大家参考,具体如下: Gallery组件主要用于横向显示图像列表,不过按常规做法.Gallery组件只能 ...

  6. Android RxJava 基本用法

    Android RxJava 基本用法 RxJava 使用函数响应式编程方式,它可以简化项目,处理嵌套回调的异步事件. RxJava 依赖 这里以 RxJava 2.2.1 为例.在 build.gr ...

  7. Android中富文本用法包括点击事件处理

    Android中富文本用法包括点击事件处理 关于 只需要富文本展示效果,不需要点击事件 展示富文本加点击事件 关于   最近项目需要中需要用到富文本展示及富文本点击功能,先去百度了一下,大多数的说法是 ...

  8. Android中list常用方法,Android中ListActivity用法实例分析

    本文实例分析了Android中ListActivity用法.分享给大家供大家参考,具体如下: 程序如下: import android.app.ListActivity; import android ...

  9. android默认exported_Android android:exported = true 用法详解

    Android android:exported = true 用法详解 Android相关属性的介绍:android:exported = true 在Activity中该属性用来标示:当前Acti ...

最新文章

  1. eve模拟器_EVE-NG,不仅仅是一款网络模拟软件,更是虚拟仿真环境
  2. 深度探索C++ 对象模型(4)-Default Copy Constructor(2)
  3. redis三种架构:主从Cluster哨兵+整合Springboot访问redis
  4. 访客IP API接口
  5. SpringMVC常用配置-添加静态资源处理器-针对SpringMVC中静态资源无法访问的问题...
  6. Java多线程(1)--基本概念:程序、进程、线程
  7. 十年磨一剑 | 淘宝如何打造承载亿级流量的首页?
  8. linux cp -w,对Linux的cp命令的思考
  9. ProcExp和TaskMgr的列对比
  10. 系统无法安装High Definition Audio的UAA总线驱动程序之解决方法
  11. sequence to sequence模型
  12. 小张的个人信息管理系统
  13. mysql按1-12月查询统计数据
  14. pv=nrt_中学物理之pV=nRT应用总结篇
  15. 微信小程序-仿朋友圈点赞评论操作面板
  16. 计算机风筝设计图片教程,如何利用塑料袋制作风筝图解教程
  17. linux下的rtc机制
  18. java中微信公众号框架_java微信公众号开发框架包含哪些内容呢?为什么要使用框架...
  19. Intellij Idea将普通项目导出为jar包
  20. windows 的cmd设置代理方法

热门文章

  1. Linux下安装Java8
  2. 2022-2028年中国体育赛事产业深度调研及投资前景预测报告
  3. Go 学习笔记(67)— Go 并发安全字典 sync.Map
  4. 机房重构——报表问题总结
  5. 理解和实现分布式TensorFlow集群完整教程
  6. LeetCode简单题之下载插件
  7. TensorFlow Frontend前端
  8. MindSpore模型精度调优实践
  9. python的服务器、客户端被拒绝访问_python – uWSGI服务器日志…权限被拒绝读取......
  10. Android 动态广播与静态广播