Android Intent参数传递
Android参数传递有两种方式,
1.是从一个Activity传递参数到第二个Activity并在第二个Activity获取数据
2.是从第二个Activity关闭后将参数传递到第一个Activity (1)第一种:
public class FirstDemoActivity extends Activity {
private Button button3;
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.first); button3=(Button) this.findViewById(R.id.button3);
editText=(EditText) this.findViewById(R.id.editText1);
button3.setOnClickListener(new View.OnClickListener() { public void onClick(View v) {
// TODO Auto-generated method stub
String content=editText.getText().toString();
Intent intent=new Intent(FirstDemoActivity.this,SecondDemoActivity.class);
//可以把要传递的参数放到一个bundle里传递过去,bundle可以看做一个特殊的map.
Bundle bundle=new Bundle();
bundle.putString("result", "第一个activity的内容");
bundle.putString("content",content);
intent.putExtras(bundle);
//也可以用这种方式传递.
//intent.putExtra("result", "第一个activity的内容"); startActivity(intent);
}
});
}
}
接收参数方法
public class SecondDemoActivity extends Activity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.second); textView=(TextView) this.findViewById(R.id.textView3);
Intent intent=getIntent();
String result=intent.getStringExtra("result");
String content=intent.getStringExtra("content");
textView.setText(result+" : "+content);
}
}
(2)第二种
第二种方式需要在跳转到第二个Activity的时候指定requestCode,同时第二个Activity关闭之前也需要指定resultCode,这样我们在获取返回值的时候才能够准确判断是否为我们需要的数据
1.跳转到第二个Activity并指定resultCode
private OnClickListener btnAdd_click = new OnClickListener() {
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setClass(getApplicationContext(), LifingAddActivity.class);
// startActivity(intent);
/*
* 如果希望启动另一个Activity,并且希望有返回值,则需要使用startActivityForResult这个方法,
* 而不是startActivity方法
* 第一个参数是Intent对象,第二个参数是一个requestCode值,如果有多个按钮都要启动Activity
* ,则requestCode标志着每个按钮所启动的Activity
*/
startActivityForResult(intent, 1000); // 设置切换动画,从右边进入,左边退出
overridePendingTransition(R.anim.in_from_right,
R.anim.out_from_left);
}
};
2.在第一个Activity重写onActivityResult方法
/**
* 弹出的Activity关闭后所触发的事件
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
// 根据requestCode判断是否为当前Activity打开的另一个Activity,根据resultCode判断具体执行什么操作关闭的第二个Activity
if (requestCode == 1000 && resultCode == 1) {
new Thread() {
public void run() {
String result=intent.getStringExtra("result");
}
}.start();
}
} 3.在第二个Activity关闭前指定resultCode和data
/**
* 保存按钮事件
*/
private OnClickListener btnSave_click = new OnClickListener() {
@Override
public void onClick(View v) {
if (CheckInput()) {
new Thread() {
public void run() {
Bundle data = new Bundle();
data.putString("result", "success");
Intent intent=getIntent();
intent.putExtras(data);
setResult(1, intent);
finish(); // finish当前activity
overridePendingTransition(R.anim.in_from_left,
R.anim.out_from_right);
}
}.start();
}
}
};

Android Intent参数传递的更多相关文章

  1. android Intent介绍

    Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 ...

  2. android:Intent匹配action,category和data原则

    1.当你在androidmanifest里面定义了一个或多个action时 你使用隐式意图其他activity或者service时,规定你隐式里面的action必须匹配XML中定义的action,可以 ...

  3. Android Intent

    Intent在Android中的重要性不言而喻.本文主要总结下Intent使用过程中需要注意的一些问题. 1.隐式Intent AndroidManifest.xml声明时<intent-fil ...

  4. android intent和intent action大全

    1.Intent的用法:(1)用Action跳转1,使用Action跳转,如果有一个程序的AndroidManifest.xml中的某一个 Activity的IntentFilter段中 定义了包含了 ...

  5. Android总结篇系列:Android Intent

    Intent在Android中的重要性不言而喻.本文主要总结下Intent使用过程中需要注意的一些问题. 1.隐式Intent AndroidManifest.xml声明时<intent-fil ...

  6. 什么时候加上android.intent.category.DEFAULT

    什么时候加上android.intent.category.DEFAULT 1.要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent ...

  7. (转)android.intent.action.MAIN与android.intent.category.LAUNCHER

    android.intent.action.MAIN决定应用程序最先启动的Activity android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里 在网上看到 ...

  8. android之android.intent.category.DEFAULT的用途和使用

    1.要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent. Explicit Intent明确的指定了要启动的Acitivity , ...

  9. 理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER

    刚才看了一下sundy的视频<LLY110426_Android应用程序启动>,里面讲到luncher这个activity通过获取应用程序信息来加载应用程序,显示给用户,其中就是通过一个应 ...

随机推荐

  1. Java互联网架构-Mysql分库分表订单生成系统实战分析

    概述 分库分表的必要性 首先我们来了解一下为什么要做分库分表.在我们的业务(web应用)中,关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量.连接数.处理能力等都很有限,数据库本身的“有状态性” ...

  2. keras中TimeDistributed

    TimeDistributed这个层还是比较难理解的.事实上通过这个层我们可以实现从二维像三维的过渡,甚至通过这个层的包装,我们可以实现图像分类视频分类的转化. 考虑一批32个样本,其中每个样本是一个 ...

  3. Linux命令: 编辑模式移动光标

    敲命令按以下顺序 ①vim filename ②e ③i ④ESC 移动光标 0 (零):将光标移动到行的起始处. $:将光标移动到行的末尾处. H:将光标移到当前窗口(而非全文)的第一行起始处. M ...

  4. Java设计模式应用——备忘录模式

    备忘录模式主要用于存档.游戏中我们打boss前总会存档,如果打boss失败,则读取存档,重新挑战boss. 可以看出来,备忘录模式一般包括如下数据结构 1. 存档文件:用于恢复备份场景的必要数据: 2 ...

  5. vue 拨打电话

    <a v-bind:href="'tel:'+(order.orderer.phone)">{{order.orderer.phone}}</a> v-bi ...

  6. 计算概论(A)/基础编程练习1(8题)/6:判断闰年

    #include<stdio.h> int isLeap(int year) { // 必须先判断是平年的情况 后判断闰年的情况 == && year%!=) || yea ...

  7. python模块-random随机数模块

    导入随机数模块import random 1.random.random() 生成[0,1)之间的随机小数 2.random.randint(a,b) 生成[a,b]之间的随机整数 3.random. ...

  8. dom4j解析xml报"文档中根元素后面的标记格式必须正确"

    今天,在写个批量启动报盘机的自动化应用,为了简化起见,将配置信息存储在xml中,格式如下: <?xml version="1.0" encoding="UTF-8& ...

  9. 20145307陈俊达《网络对抗》Exp 8 Web基础

    20145307陈俊达<网络对抗>Exp 8 Web基础 基础问题回答 1.什么是表单? 表单是一个包含表单元素的区域,表单元素是允许用户在表单中输入信息的元素,表单在网页中主要负责数据采 ...

  10. Android实践项目汇报总结(上)修改

    微博客户端的设计与实现(上) 第一章 绪论 1.1课题背景 微博可以说是时下最受人们所喜爱的一种社交方式,它是一种通过关注机制分享简短实时信息的广播式的社交网络平台.通过微博我们可以了解最新的时事新闻 ...