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 ...
随机推荐
- DSP using MATLAB示例Example3.16
代码: b = [0.0181, 0.0543, 0.0543, 0.0181]; % filter coefficient array b a = [1.0000, -1.7600, 1.1829, ...
- rhel6用centos163 yum源
cd /etc/yum.repos.d/ wget wget http://mirrors.163.com/.help/CentOS6-Base-163.repo .repo
- web工程spring+ibatis单元测试
web工程spring+ibatis在本地做单元测试,用例如下: package wanghongye; import org.junit.Before; import org.junit.Test; ...
- ASP.NET Global.asax详解
最近在研究bbsmax的代码,但是一直不知道入口在哪里,然后就对各个文件分析了,然后终于在对global.asax文件查看的时候看到Application_BeginRequest才明白入口,所以现在 ...
- BZOJ4684 : Company Organization
二分答案,转化为判定问题. 建立有向图,$a->b$连边表示$a$是$b$的子集,至此可以处理掉$1$和$2$. 对于$5$,则往对应点的集合塞一个元素,即可满足$5$. 首先求出强连通分量进行 ...
- Hive0.11安装配置学习笔记
转:http://springsfeng.iteye.com/blog/1734517 1 . 首先请安装好MySQL并修改root账户密码,使用root账户执行下面命令: su - root ...
- c 语言结构体的三种定义方式
struct 结构体名{ 成员列表: ..... }结构体变量: 结构体类型变量的定义 结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对问题事先自行定义,所以结构体 ...
- iOS 让启动页面延迟的方法
<1> 利用多线程的方法:[NSThread sleepForTimeInterval:300];
- 最好的文本框样式 最漂亮的文本框样式 textbox css样式
输入框景背景透明: <input style="background:transparent;border:1px solid #ffffff"> 鼠标划过输入框,输入 ...
- nmap的script参数列表
在新的nmap版本中,添加了script功能的使用.在nmap的安装目录的share/nmap/scripts中,已经有将61个写好的脚本提供. 具体的用法可以参考:http://nmap.org/b ...