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();
}
}
}
((Button) findViewById(R.id.send)).setOnClickListener( new Button.OnClickListener() {
public void onClick(View v) {
SendSMSActivity.this.setResult(RESULT_OK);
SendSMSActivity.this.finish();
}
}):
((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 onCreate(Bundle savedInstanceState)
Bundle extras = getIntent().getExtras();
mText = extras.getString("Text");
mTextColor = extras.getInt("TextColor");
mTextSize = extras.getFloat("TextSize");
mTextBold = extras.getBoolean("TextBold");
转自:http://android.blog.51cto.com/268543/323982
Activity学习(三)——跳转传值的更多相关文章
- 利用onNewIntent避免Activity之间的跳转传值多次实体化
onNewIntent 需要注意的是: 1.通过Intent启到一个Activity的时候,就算已经存在一个相同的正在运行的Activity,系统也会创建一个新的Activity实例.为了不让Acti ...
- Android开发之Activity的创建跳转及传值
在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播接收器(Broadcast Reciver)和内容提供者(Content Provider).今天所介 ...
- Android中实现activity的页面跳转并传值
一个Android应用程序很少会只有一个Activity对象,如何在多个Activity之间进行跳转,而且能够互相传值是一个很基本的要求. 本次我们就讲一下,Android中页面跳转以及传值的几种方式 ...
- MUI框架开发HTML5手机APP(二)--页面跳转传值&底部选项卡切换
概 述 JRedu 在上一篇博客中,我们学习了如何使用Hbuilder创建一个APP,同时如何使用MUI搭建属于自己的第一款APP,没有学习的同学可以戳链接学习: http://www.cnblo ...
- 第35讲 Activity入门和跳转
第35讲Activity入门和跳转 1.Activity Activity是用户接口程序.在Android当中,Activity提供可视化的用户界面,一个Android应用通常由多个activity组 ...
- Android JNI学习(三)——Java与Native相互调用
本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...
- UWP 页面跳转传值
如果涉及到页面跳转,一般用Frame这个控件来管理不同的页面. <Grid Name="RootGrid"> <Frame Name="RootFram ...
- Android笔记(二十) Activity中的跳转和值传递
我们知道,一个APP是由若干个Activity组成的,那么各个Acitivity中肯定需要进行跳转以及传递数值以保证App的运行,现总结一下多个Activity之间的跳转和值传递. 显式Intent跳 ...
- day 82 Vue学习三之vue组件
Vue学习三之vue组件 本节目录 一 什么是组件 二 v-model双向数据绑定 三 组件基础 四 父子组件传值 五 平行组件传值 六 xxx 七 xxx 八 xxx 一 什么是组件 首先给 ...
- Activity组件:(一)通过显式意图和隐式意图来实现Activity间的跳转
一.通过显式意图来实现Activity间的跳转 显式意图是指在创建Intent对象时就指定接受者组件 /** * 下面是通过显式意图进行跳转,即明确写出要跳转到SecondActivity.class ...
随机推荐
- C,C++回文字符串判断(字符串指针的用法)
功能:输入一个字符串,判断是否为回文. 主要锻炼指针的用法. 1.C版 #include<stdio.h> int main() { ]; char a; ,flag=; while((a ...
- super的用法
1.调用父类的构造方法子类可以调用由父类声明的构造方法.但是必须在子类的构造方法中使用super关键字来调用. 2.操作被隐藏的成员变量和被覆盖的成员方法如果想在子类中操作父类中被隐藏的成员变量和被覆 ...
- JavaScript高级程序设计之location对象
location对象用来处理URL的相关信息 1.获取查询字符串 // 获取查询字符串对象 var getQueryStringArgs = function () { ? location.sear ...
- Node.js深受欢迎的六大原因
Node.js是一种后起的优秀服务器编程语言,它用来构建和运行Web应用,这和ASP.NET,Ruby on Rails或Spring框架做的工作是类似的.它使用JavaScript作为主要的开发语言 ...
- LNMP下wordpress无法切换主题,只显示当前主题解决方法
最近在lnmp下发现wordpress后台无法切换主题,只能显示当前主题,开始还以为是文件没传完,又重置了一遍,还是一样.百度得知,原来军哥的LNMP安装包默认关闭了scandir函数,为了安全考虑. ...
- 内核中的 likely() 与 unlikely()
内核中的 likely() 与 unlikely() 在 2.6 内核中,随处可以见到 likely() 和 unlikely() 的身影,那么为什么要用它们?它们之间有什么区别? 首先要明确: if ...
- apache maven
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAj0AAAGXCAYAAABY/uEUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjw ...
- iOS UIView的简单渐变效果
这里主要用到了ios4.0以后 UIView的类方法 animateWithDuration: 函数原型包括以下类方法 + (void)animateWithDuration:(NSTimeInter ...
- DF与EF的区别
DF:专有文件 EF:基本文件 1.EF没有文件名,只有FID(文件标识符) 2.DF有文件名,又有FID,因此COS可以根据文件名来访问DF
- 新 四则运算题目 C++
源代码: #include <stdlib.h>#include <iostream.h>#include <conio.h>#include <time.h ...