Android Intent参数传递
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参数传递的更多相关文章
- android Intent介绍
Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 ...
- android:Intent匹配action,category和data原则
1.当你在androidmanifest里面定义了一个或多个action时 你使用隐式意图其他activity或者service时,规定你隐式里面的action必须匹配XML中定义的action,可以 ...
- Android Intent
Intent在Android中的重要性不言而喻.本文主要总结下Intent使用过程中需要注意的一些问题. 1.隐式Intent AndroidManifest.xml声明时<intent-fil ...
- android intent和intent action大全
1.Intent的用法:(1)用Action跳转1,使用Action跳转,如果有一个程序的AndroidManifest.xml中的某一个 Activity的IntentFilter段中 定义了包含了 ...
- Android总结篇系列:Android Intent
Intent在Android中的重要性不言而喻.本文主要总结下Intent使用过程中需要注意的一些问题. 1.隐式Intent AndroidManifest.xml声明时<intent-fil ...
- 什么时候加上android.intent.category.DEFAULT
什么时候加上android.intent.category.DEFAULT 1.要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent ...
- (转)android.intent.action.MAIN与android.intent.category.LAUNCHER
android.intent.action.MAIN决定应用程序最先启动的Activity android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里 在网上看到 ...
- android之android.intent.category.DEFAULT的用途和使用
1.要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent. Explicit Intent明确的指定了要启动的Acitivity , ...
- 理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER
刚才看了一下sundy的视频<LLY110426_Android应用程序启动>,里面讲到luncher这个activity通过获取应用程序信息来加载应用程序,显示给用户,其中就是通过一个应 ...
随机推荐
- sublime工具安装完成后使用Emmet加快前端页面的开发速度
sublime的安装这里就不介绍了,很多人看到有些人在使用sublime时使用了一些快捷键非常快速的搭建一个简单的html,简单的结构就打起来了.不需要手动一个标签一个标签写. 其实是他们安装了Emm ...
- mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)字符串拼接cancat实战例子
mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)mysql字符串拼接cancat实战例子: mysql update set 多个字段相加,如果是数字相加可以直接用+号(注:hund ...
- pyDay2
内容来自廖雪峰的官方网站 1.dict 为什么dict查找速度这么快?因为dict的实现原理和查字典是一样的.假设字典包含了1万个汉字,我们要查某一个字,一个办法是把字典从第一页往后翻,直到找到我们想 ...
- Python3 itchat实现微信定时发送群消息
Python3 itchat实现微信定时发送群消息 一.简介 1,使用微信,定时往指定的微信群里发送指定信息. 2,需要发送的内容使用excel进行维护,指定要发送的微信群名.时间.内容. 二.py库 ...
- 获取GetOpenFileName多选文件名
void CWriteWnd::OpenFileDialog() { OPENFILENAME ofn; TCHAR szOpenFileNames[*MAX_PATH] = _T("&qu ...
- 1-20 RHEL7的启动原理和服务控制
大纲: RHEL7启动原理 RHEL7服务启动配置 网络概述 发布内网服务器 ############################################################ ...
- [luoguP1119]灾后重建
题目链接 毒瘤题 卡spfa 可能dij也卡,没试过 然后放floyd过了 但其实spfa很好打,虽然只有60 让我们来分析一下spfa的效率,假设这个出题人极其毒瘤,出网格图 又因为是在线询问,所以 ...
- v-if和v-show区别
v-if和v-show区别 v-if判断是否要加载,可以减轻服务器压力,按需加载. v-show 利用了css的display,可以提高客户端的流畅度. 看需求使用那个,如果页面上会经常用到,用v-s ...
- 最常用的15大Eclipse开发快捷键技巧【转】
引言 做java开发的,经常会用Eclipse或者MyEclise集成开发环境,一些实用的Eclipse快捷键和使用技巧,可以在平常开发中节约出很多时间提高工作效率,下面我就结合自己开发中的使用和大家 ...
- java必背面试题
JAVA必背面试题和项目面试通关要点 一 数据库 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链接查询和优化问题,手写SQL语句,例如四个球队比赛,用SQL显示所有比赛组合:举例2:选 ...