Activity 是Android中重要的组件,每个Activity对应一个界面,如何生成新的Activity,如何在不同Activity传递数值呢。

一、

生成新的Activity,当然要使用Intent了,这里有两种方式。(注意:所有的Activity都要在AndroidMainfest.xml 中声明)

1.使用显示的方式调用Intent

我们在一个button事件中生成新的activity

 btn.setOnClickListener(new OnClickListener(){

			@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub Intent i = new Intent(MainActivity.this,SecondActivity.class);
startActivity(i,88);
}
});

 

2.使用隐式的形式

通过声明action 来调用响应的Activity

    新的Activity需要在AndroidMainfest.xml 中 声明成这个样子:

        <activity android:name =".ThirdActivity">
<intent-filter>
<action android:name="www.example.com.myAction"/>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
</activity>

调用代码:

Intent intent = new Intent();
intent.setAction("www.example.com.myAction");
startActivity(intent);

 其中的 <category> 标签必须要有的,添加一个 默认的。

二 、 数值的传递

如果把calling Activity 称为 父 Activity的话,新生成的称为child Activity

1.父向子传递数据,直接使用Intent的相关函数:

intent.putExtra();

在 Child Activity 中获取值:

Intent intentGet = getIntent();

intentGet.getStringExtra();

.....等等函数获取相关类型的值。

2.child Activity 向 父 Acitvity 中回传值

需要使用两个系统函数来完成:

生成child Activity 时使用:startActivityForResult()函数

Intent i = new Intent(MainActivity.this,SecondActivity.class);

startActivityForResult(i,88);

 在父Activity中重新回调函数:public void onActivityResult(int requestCode,int resultCode,Intent data)

 

当  child activity 调用finish() 函数结束生命后,返回父Activity自动调用onActivityResult()函数,

其中child activity 向回传的数据 通过 setResult() 函数设置。所有需要在finish()函数调用前,调用setResult() 完成回传值的设置。

Android Activity 生成及Activity之间传值的更多相关文章

  1. android fragment传递参数_fragment之间传值的两种方法

    在Activity中加载Fragment的时候.有时候要使用多个Fragment切换.并传值到另外一个Fragment.也就是说两个Fragment之间进行参数的传递.查了很多资料.找到两种方法.一种 ...

  2. [转]Android:Activity+Fragment及它们之间的数据交换(一)

    2014-05-18         来源:Android:Activity+Fragment及它们之间的数据交换(一)   简介: 为什么要用Fragment?使用Fragment可以在一个Acti ...

  3. Android——软键盘操作+fragment之间传递参数+TextView限制字数,显示"..."

    原文地址: Android 手动显示和隐藏软键盘 Android隐藏输入法键盘(hideSoftInputFromInputMethod没有效果) Android Fragment传递参数_Fragm ...

  4. Android菜鸟的成长笔记(10)——使用Bundle在Activity之间传值

    原文:[置顶] Android菜鸟的成长笔记(10)——使用Bundle在Activity之间传值 前面我们了解了如何启动一个Activity,一个Activity在启动另外一个Activity的时候 ...

  5. android:两个应用之间怎样传值之activity

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zjh171/article/details/37738579 两个应用之间怎样传值.事实上这个标题太 ...

  6. Android(Fragment和Activity之间通信)

    Fragment的使用可以让我们的应用更灵活的适配各种型号的安卓设备,但是对于Fragment和Activity之间的通信,很多朋友应该比较陌生,下面我们就通过一个实例来看一看如何实现. 一.Acti ...

  7. Android:Activity+Fragment及它们之间的数据交换.

    Android:Activity+Fragment及它们之间的数据交换 关于Fragment与Fragment.Activity通信的四种方式 比较好一点的Activity+Fragment及它们之间 ...

  8. Android中Fragment与Activity之间的交互(两种实现方式)

    (未给Fragment的布局设置BackGound) 之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文<Android中Fragment的两种创建方式>,就如 ...

  9. Android 数据传递(一) Activity之间的数据传递

    bundle Google Bundle类说明 Bundle类是一个key-value对.Activity之间的数据通信可以通过bundle类来实现数据的存储.即将数据放入bundle里面,将Bund ...

随机推荐

  1. unity, GetComponent<MeshRenderer>().sharedMaterial 与 GetComponent<MeshRenderer>().material

    我多个物体用的是同一个material,当我用gameObject.GetComponent<MeshRenderer>().sharedMaterial.SetColor("_ ...

  2. 怎样优化UITableView的性能

    在iOS App中,UITableView应该是使用率最高的.同一时候也是最为复杂的视图. 差点儿全部自带的应用中都能看到它的身影,可见它的重要性. 在使用UITableView时,会常常遇到性能上的 ...

  3. 关于阿里云ECS Centos 5/6/7 Linux Glibc库严重安全漏洞修复方法

    日前Linux GNU glibc标准库的 gethostbyname函数爆出缓冲区溢出漏洞,漏洞编号为CVE-2015-0235.黑客可以通过gethostbyname系列函数实现远程代码执行,获取 ...

  4. 阿里大鱼短信接口(Python3版)

    近期由于须要用到短信接口,选型的的结果是用阿里大鱼的短信服务,然而淘宝开放平台(TOP)的SDK已经非常多年没有更新了.不支持python3.自己动手改了半天,还是不太正常,索性不用它,自己写一个算了 ...

  5. android逆向分析之smali语法

    一 .smali数据类型 1.Dalvik字节码 Davlik字节码中,寄存器都是32位的,能够支持任何类型,64位类型(Long/Double)用2个连续的寄存器表示: Dalvik字节码有两种类型 ...

  6. C#画图消除锯齿

    using (Graphics g = this.CreateGraphics()) { g.SmoothingMode = SmoothingMode.HighQuality; //图片柔顺模式选择 ...

  7. oracle字符存储

     substr和substrb 以前知道有substrb,lengthb等函数,也知道它们是以byte来计算长度,可没用过,也不太明白什么地方需要用到它们.一直就是用substr,length,以 ...

  8. FirstLetterUtil

    package cn.edu.hbcf.common.utils; public class FirstLetterUtil { private static int BEGIN = 45217; p ...

  9. WebRTC编译具体介绍

    WebRTC编译具体介绍--记录+转载 原文地址:http://blog.csdn.net/temotemo/article/details/7056581 WebRTC编译 本人环境: 操作系统:X ...

  10. uinty实现玩家尾随鼠标位置平滑旋转角度

    首先我们要在场景中加入一个quad平面作为地板, 然后指定Layer为Floor,然后移除mesh renderer组件 然后加入脚本 脚本主要思想是从屏幕中心投出一条射线到地板, 然后获取相应坐标, ...