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通过获取应用程序信息来加载应用程序,显示给用户,其中就是通过一个应 ...
随机推荐
- AOAPC I: Beginning Algorithm Contests (Rujia Liu) Volume 6. Mathematical Concepts and Methods
uva 106 这题说的是 说计算 x^2 + y^2 = z^2 xyz 互质 然后计算个数和 在 N内 不在 勾股数之内的数的个数 然后去找需要的 维基百科上 看到 另 n*m*2 =b ...
- Python 读写文件中w与wt, r与rt的区别
w和wt是一们的,r和rt是一样的,t是默认参数,可以省略的,help(open)就能看到open的参数的详细说明. w,r,wt,rt都是python里面文件操作的模式.w是写模式,r是读模式.t是 ...
- kafka监控工具
Kafka Web Conslole Kafka Manager KafkaOffsetMonitor.
- 硬件中断和DPC一直占40-52%左右 解决方法
硬件中断和DPC一直占40-52%左右,突然感觉电脑变慢 重启后竟然启动不了了,冷却一段时间后才能进去,温度检测cpu,硬盘都超标了! 用Process Explorer检测硬件中断和DPC 占cpu ...
- ajax return true/false无效原因
错误示例:function checkCP(customerId,productId){ $.ajax({ url:"/cp/checkCP", type:"post&q ...
- python之路----常用模块二
collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict. ...
- 【工具使用】Git密码存储相关问题探究以及资料整理
在公司的托管平台gogs上,遇到一个任务需要用不同的账号进行操作和处理.这样就遇到一个问题了,死活没有办法在拉去代码的时候,提示输入用户,输入密码. 我的操作系统是mac.安装了git环境,用的软件是 ...
- Python3基础 sys.path.append 增加模块的搜索路径
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- JS高级语法与JS选择器
元素(element)和节点(node) childNode属性和children属性的区别 <!DOCTYPE html> <html lang="en"> ...
- Sizeof与Strlen的区别【转】
本文转载自:http://www.cnblogs.com/carekee/articles/1630789.html Sizeof与Strlen的区别与联系 一.sizeof sizeof(.. ...