`
_小菜鸟
  • 浏览: 34043 次
社区版块
存档分类
最新评论

我的android 第29天 - Activity(二)

 
阅读更多

我的android 第29天 - Activity(二)

 

 

四、请求码的作用

使用startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,我们需要为startActivityForResult()方法传入一个请求码(第二个参数)。请求码的值是根据业务需要由自已设定,用于标识请求来源。例如:一个Activity有两个按钮,点击这两个按钮都会打开同一个Activity,不管是那个按钮打开新Activity,当这个新Activity关闭后,系统都会调用前面Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法。在onActivityResult()方法如果需要知道新Activity是由那个按钮打开的,并且要做出相应的业务处理,这时可以这样做:

 @Override public void onCreate(Bundle savedInstanceState) {

        ....

        button1.setOnClickListener(new View.OnClickListener(){

    public void onClick(View v) {

     startActivityForResult(new Intent(MainActivity.thisNewActivity.class),1);

     }});

        button2.setOnClickListener(new View.OnClickListener(){

    public void onClick(View v) {

     startActivityForResult(new Intent(MainActivity.thisNewActivity.class),2);

     }});

       @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {

               switch(requestCode){

                   case 1:

                       //来自按钮1的请求,作相应业务处理

                   case2:

                  //来自按钮2的请求,作相应业务处理

                }          }}

 

五、结果码的作用

在一个Activity中,可能会使用startActivityForResult()方法打开多个不同的Activity处理不同的业务,当这些新Activity关闭后,系统都会调用前面Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法。为了知道返回的数据来自于哪个新Activity,在onActivityResult()方法中可以这样做(ResultActivityNewActivity为要打开的新Activity):

publicclass ResultActivity extends Activity {

       .....

       ResultActivity.this.setResult(1,intent);

       ResultActivity.this.finish();

}

publicclass NewActivity extends Activity {

       ......

        NewActivity.this.setResult(2,intent);

        NewActivity.this.finish();

}

publicclass MainActivity extends Activity { // 在该Activity会打开ResultActivityNewActivity

       @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {

               switch(resultCode){

                   case 1:

                       // ResultActivity的返回数据

                   case 2:

                 // NewActivity的返回数据

                }          }  }

下载视频代码

 

 

 

分享到:
评论

相关推荐

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    android应用开发详解 郭宏志编著 pdf格式

    第二章 android开发基础 第二篇 技术篇 第三章 android中的资源访问 第四章 android用户界面 第五章 android基本程序单元Activity 第六章 android组件之间的信使Intent 第七章 android Service组件 第八章 ...

    老罗android开发视频教程全集百度网盘下载

    【第一版第二章】老罗Android开发视频--常用UI布局介绍(5集) 【第一版第三章】老罗Android开发视频--HTTP协议编程(4集) 【第一版第四章】老罗Android开发视频--解析XML数据(3集) 【第一版第五章】老罗...

    深入理解Android:卷I--详细书签版

    5.2.2 第二板斧——由弱生强 103 5.2.3 第三板斧——破解生死魔咒 106 5.2.4 轻量级的引用计数控制类LightRefBase 108 5.2.5 题外话——三板斧的来历 109 5.3 Thread类及常用同步类分析 109 5.3.1 一个变量...

    android一步一步最基础学习__新手

    第一讲:Android开发环境的搭建 第二讲:Android系统构架分析和应用程序目录结构分析 第三讲:Android模拟器的使用 emulator ...第二十九讲:WebView学习指南 第三十讲:URLConnection和HttpClient使用入门

    ARM Cortex-A8和Android 4.x联动报警系统

    第二部分内容,先简单讲解Android系统移植相关原理,然后一步步手把手教大家如何进行Linux内核移植、Android源码编译、以及Android到Cortex A8开发板的移植;第三部分内容,先教大家如何搭建裸机开发环境,然后带领...

    Android开发案例驱动教程 配套代码

    第3章 第一个Android程序 15 3.1 HelloAndroid 15 3.1.1 在Eclipse中创建项目 15 3.1.2 编写程序项目代码 17 3.1.3 运行HelloAndroid 18 3.1.4 Android工程目录 19 3.1.5 AndroidManifest.xml文件 21 3.2 ...

    8天快速掌握Android教程源码

    04_开发与运行(卸载)第一个ANDROID应用.avi 所在项目:Hello 06_电话拔号器.avi 所在项目:phone 08_短信发送器.avi 所在项目:sms 09_深入了解各种布局技术.avi 所在项目:sms & FrameLayout 10_对应用进行单元...

    Google!Android手機應用程式設計入門

    第二十九章 發佈到 Android 市集(Market) 第三十章 加入列表活動(ListActivity) 第三十一章 使用資料庫(SQLite) 第三十二章 存取資料表 (SQLiteOpenHelper) 第三十三章 加入增刪改查操作(CRUD) 第三十四章 ...

    疯狂android讲义源代码.7z.001(共三卷)

    第二章android应用的界面编程 第三章事件处理 第四章深入理解activity 第五章使用intent和intentFilter进行通信 第六章android应用的资源 第七章图形与图像处理 第八章android的数据存储和IO 第九章使用...

    疯狂android讲义源代码.7z.003(共三卷)

    第二章android应用的界面编程 第三章事件处理 第四章深入理解activity 第五章使用intent和intentFilter进行通信 第六章android应用的资源 第七章图形与图像处理 第八章android的数据存储和IO 第九章使用...

    疯狂android讲义源代码.7z.002(共三卷)

    第二章android应用的界面编程 第三章事件处理 第四章深入理解activity 第五章使用intent和intentFilter进行通信 第六章android应用的资源 第七章图形与图像处理 第八章android的数据存储和IO 第九章使用...

    疯狂Android讲义源码

     第1章 Android应用与开发环境 1  1.1 Android的发展和历史 2  1.1.1 Android的发展和简介 2  1.1.2 Android平台架构及特性 3  1.2 搭建Android开发环境 5  1.2.1 下载和安装Android SDK 5  1.2.2 安装...

    Android基础课内实验报告.doc

    Android基础实验报告 姓 名 班 级 学 号 指导教师 2019 年 6 月 10 日 实验一 Activity基础 实验目的: 1. 掌握Activity基础内容。 2. 掌握Activity生命周期。 3. 掌握Activity之间的跳转及数据传递。 实验内容: ...

    《Google Android 揭秘》(美) W.Frank Ableson 著

    第二部分 Android SDK实战 第3章 用户界面 50 3.1 创建活动 51 3.1.1 创建Activity类 52 3.1.2 探讨活动的生命周期 57 3.2 使用视图 60 3.2.1 通用视图 60 3.2.2 使用ListView 63 3.2.3 利用Handler和Message实现多...

    Android插件

    29.Android-DPI-Calculator DPI计算插件 30.gradle-retrolambda 在java 6 7中使用 lambda表达式插件 修改编译的jdk为java8: 31.Android Studio Prettify 可以将代码中的字符串写在string.xml文件中 这个...

    精通ANDROID 3(中文版)1/2

    第1章 Android计算平台简介  1.1 面向新PC的全新平台  1.2 Android的历史  1.3 Dalvik VM剖析  1.4 理解Android软件栈  1.5 使用Android SDK开发最终用户应用程序  1.5.1 Android模拟器  1.5.2 ...

Global site tag (gtag.js) - Google Analytics