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. 【剑指offer】Q17:合并两个排序的链表

    def Merge(head1, head2): if head1 == None: return head2 if head2 == None: return head1 psuhead = Lis ...

  2. centos7和scientific linux7里面调出中文输入法

    默认安装后,却没有中文输入,于是研究以下,原来是没有调出来. 1.应用程序->系统工具->设置 2.选择“区域和语言” 3.这里默认会有一个汉语,如果没有,那么你当初选择安装的是英语,需要 ...

  3. Jetty - Handler源码分析

    1. 描述 基于Jetty-9.4.8.v20171121. Handler是Jetty服务处理器,用户Server处理HTTP请求. Handler可以做如下处理: (1)完全生成HTTP响应: ( ...

  4. C# 冒泡排序

    class Program { static void swap( ref int atemp, ref int btemp)//注意ref的使用 { int temp = atemp; atemp ...

  5. sourceInsight设置

    复制后光标定格在行尾 Options -> Preferences -> Typing -> After pasting,select:at end of pasted text t ...

  6. 使用ZBar来读取条形码和二维码的方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. 1.使用ZBar项目.下载地址是: http://zbar.sourceforge.net/iphone/index.html 2.新建一个项目. ...

  7. jquery几个按钮同时调用一个方法

  8. JQuery EasyUI 请求/加载 两次

    解决方案如下: Html页面中的Table标签中包含class属性(class="easyui-datagrid"),删除即可.

  9. 最纯粹的直播技术实战02-Camera的处理以及推流

    最纯粹的直播技术实战02-Camera的处理以及推流 最新实战教程.Android自己主动化刷量.作弊与防作弊.案例:刷友盟统计.批量注冊苹果帐号 这个系列的文章将会研究最纯粹的Android直播的实 ...

  10. 把查询到结果合并放在一行 JOIN非union

    select one.max,one.min,one.low sts,c.high ens,one.time from ( select a.max max,a.min min,b.low low,a ...