Android课程---Activity的跳转与传值(转自网上)
Activity跳转,无返回结果
((Button) findViewById(R.id.Notepadv1)).setOnClickListener( new OnClickListener() {
public void onClick(View v) {
startActivity(new Intent (MyAndroidAppActivity.this, Notepadv1.class) );
}
});
Activity跳转,返回数据/结果
static final int SEND_SMS_REQUEST = 0;
static final int CALL_REQUEST = 1; ((Button) findViewById(R.id.sms)).setOnClickListener( new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MyAndroidAppActivity.this, SendSMSActivity.class);
startActivityForResult(intent, SEND_SMS_REQUEST);
}
}); @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == SEND_SMS_REQUEST) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "Send SMS RESULT_OK", Toast.LENGTH_SHORT).show();
}else if (resultCode == RESULT_CANCELED) {
Bundle bundle = data.getExtras();
String phoneno = bundle.getString("phoneNO");
Toast.makeText(this, "Send SMS RESULT_CANCELED "+phoneno, Toast.LENGTH_SHORT).show();
}
}else if (requestCode == CALL_REQUEST) {
if (resultCode == RESULT_CANCELED) {
Toast.makeText(this, "Call RESULT_CANCELED", Toast.LENGTH_SHORT).show();
}
}
}
SendSMSActivity:
((Button) findViewById(R.id.send)).setOnClickListener( new Button.OnClickListener() {
public void onClick(View v) {
SendSMSActivity.this.setResult(RESULT_OK);
SendSMSActivity.this.finish();
}
}):
** 注意,在setResult后,要调用finish()销毁当前的Activity,否则无法返回到原来的Activity,就无法执行原来Activity的onActivityResult函数,看到当前的Activity没反应。
((Button) findViewById(R.id.cancel)).setOnClickListener( new Button.OnClickListener() {
public void onClick(View v) {
// 实例化 Bundle,设置需要传递的参数
Bundle bundle = new Bundle();
bundle.putString("phoneNO", "020-123"); SendSMSActivity.this.setResult(RESULT_CANCELED, SendSMSActivity.this.getIntent().putExtras(bundle));
SendSMSActivity.this.finish();
}
}); @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// 是否触发按键为back键
if (keyCode == KeyEvent.KEYCODE_BACK) { // 实例化 Bundle,设置需要传递的参数
Bundle bundle = new Bundle();
bundle.putString("phoneNO", "020-123"); setResult(RESULT_CANCELED, this.getIntent().putExtras(bundle));
this.finish();
return true;
}else {
return super.onKeyDown(keyCode, event);
}
}
Activity传送数据
// 在某个按钮响应事件里
Intent intent = new Intent(this, TextInputActivity.class);
intent.putExtra("Text", mText);
intent.putExtra("TextColor", mTextColor);
intent.putExtra("TextSize", mTextSize);
intent.putExtra("TextBold", mTextBold); startActivityForResult(intent, REQUEST_TEXT);
In Activity B:
// in onCreate(Bundle savedInstanceState)
Bundle extras = getIntent().getExtras();
mText = extras.getString("Text");
mTextColor = extras.getInt("TextColor");
mTextSize = extras.getFloat("TextSize");
mTextBold = extras.getBoolean("TextBold");
Android课程---Activity的跳转与传值(转自网上)的更多相关文章
- 5.10学习总结——Activity的跳转和传值
使用sharedpreference是对信息的存储,也可以进行传值,今天通过查找资料,学习了Activity的跳转和传值方法. 跳转 1.显示跳转 4种方法 1 2 3 4 5 6 7 8 9 10 ...
- Android开发10——Activity的跳转与传值
Activity跳转与传值,主要是通过Intent类,Intent的作用是激活组件和附带数据. 一.Activity跳转 方法一Intent intent = new Intent(A.this, B ...
- xamarin.android Activity之间跳转与传值
前言 由于需要,所以接触到这个新的安卓开发模式,我会把我的学习经历全都记录下来,希望对大家有用. 导读 关于Activity,学习过安卓的人也应该明白什么是Activity,推荐新手去看YZF的这篇文 ...
- Activity的跳转与传值(转载)
Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据. Intent是Android一个很重要的类.Intent直译是“意图”,什么是意图呢?比如你想从这个 ...
- Activity的跳转与传值
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://android.blog.51cto.com/268543/323982 Acti ...
- Android之Activity之间跳转
本人自学Android,想到什么就写点什么.主要是怕忘了,哈哈~请观者不要建议~ 今天写点Android窗口之间的跳转以及自己理解: 1.Android中窗口之间的跳转,就是Activity之间的跳转 ...
- Android:Activity之间跳转和参数传递
一个activity就好比一个网页,此文章讲解怎样创建一个activity并且实现跳转! 一.学习创建Activity 1.新建一个java类,右击src目录,选择new-->class,新的a ...
- 3、Android中Activity的跳转
1.创建project file->new->android application 依次填入应用名称.project名.包名 在project文件夹下找到src/com. ...
- Android课程---Activity中保存和恢复用户状态
onSaveInstanceState 保存 在暂停之后和保存之前调用 onRestoreInstanceState 恢复 再启动之后和显示之前调用 package com.example.chens ...
随机推荐
- 1140 分珠 dfs
时间限制:500MS 内存限制:65536K提交次数:24 通过次数:18 题型: 编程题 语言: G++;GCC Description 如下图所示,有若干珠子,每颗珠子重量不同,珠子之间有一 ...
- HDU5724 Chess(SG定理)
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5724 Description Alice and Bob are playing a spe ...
- Poj1852
题目求的是:所有蚂蚁用最短时间从木棍上走下来的最大值(也就是最后一个蚂蚁什么时候走下来的) 所有蚂蚁中,用时最长的情况 PS:根本不用考虑两只蚂蚁相遇又折返的情况(可以直接认为是他两互不影响的走) # ...
- 【原】iOS学习之在NSObject子类中获取当前屏幕显示的ViewController
我们在非视图类中想要随时展示一个view时,需要将被展示的view加到当前view的子视图,或用当前view presentViewController,或pushViewContrller,这些操作 ...
- POJ 1222 (开关问题+高斯消元法)
题目链接: http://poj.org/problem?id=1222 题目大意:一堆开关,或开或关.每个开关按下后,周围4个方向开关反转.问使最后所有开关都关闭的,开关按法.0表示不按,1表示按. ...
- 20145308刘昊阳 《Java程序设计》第2周学习总结
20145308刘昊阳 <Java程序设计>第2周学习总结 教材学习内容总结 第三章 基础语法 3.1 类型.变量与运算符 类型 基本类型 整数(short/int/long) short ...
- HttpLuaModule 获取Get和Post参数
Get方式: local id = tostring(ngx.var.arg_id) local type = tostring(ngx.var.arg_type) Post方式: ngx.req.r ...
- ACM: Hotel 解题报告 - 线段树-区间合并
Hotel Time Limit:3000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Description The ...
- JS实现屏蔽键盘操作
第一种:当页面初始加载的时候,屏蔽掉当前页面所有的键盘 $(document).ready(function () { document.body.onkeydown = function (even ...
- jQuery实现竖排菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...