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调用系统剪切板功能

    package com.game.utils; import android.app.Activity; import android.content.ClipData; import android ...

  2. Java生成随机不反复推广码邀请码

    欢迎进入我的博客:blog.scarlettbai.com查看很多其它文章 近期接到一个需求.要批量生成推广码,首先我们知道推广码的特效有例如以下两点: 1:不可反复 2:不能够被猜測出 关于这两点, ...

  3. c++11 on Android

    C++11 on Android The latest Andoird NDK r8e finally supports some of the most important C++11 librar ...

  4. 0048 MyBatis动态SQL简易入门示例

    假如有如下的关于书籍基本信息的表: DROP DATABASE IF EXISTS `books`; CREATE DATABASE `books`; USE books; DROP TABLE IF ...

  5. C预编译宏

    /* ============================================================================ Name : c_test001.c A ...

  6. nodejs之express的使用

    Express是目前最流行的基于Node.js的Web开发框架,可以快速的搭建一个完整功能的网站. Express框架建立在内置的http模块上,http模块生成服务器的原始代码如下. var htt ...

  7. HBase学习笔记——Java API操作

    1.1.  配置 HBaseConfiguration 包:org.apache.hadoop.hbase.HBaseConfiguration 作用:通过此类可以对HBase进行配置 用法实例: C ...

  8. 【Mac + Appium + Python3.6学习(五)】之常用的Android自动化测试API总结

    Github测试样例地址:https://github.com/appium-boneyard/sample-code/tree/master/sample-code/examples ①定位text ...

  9. js移除某一类的div

    (转载)Javascript removeChild()不能删除全部子节点的解决办法   在Javascript中,只提供了一种删除节点的方法:removeChild().removeChild() ...

  10. HBase MemStore与HStoreFile 的大小分析

    Sumary: MemStore结构 KeyValue构成细节 HFile分析 Maven 项目例子使用了Maven来管理Dependency,要运行例子,需要有maven环境,后面提到的HFile, ...