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 ...
随机推荐
- 【HTML+CSS】七小时快速入门~~~~~~~
由于网络化的原因,学习很方便,但是也由于太方便了,学习资料很多会给刚想要入门却没有什么自制力的初学者造成困难,我自己来说学html和css先看了一本书,后来又辗转在慕课网.w3cschool等学习网站 ...
- AngularJS 学习之事件
1.ng-click指令:定义了AngularJS点击事件 <div ng-app="" ng-controller="myCtrl"> <b ...
- 《DSP using MATLAB》示例Example4.10
上代码: b = [1, 0.4*sqrt(2)]; a = [1, -0.8*sqrt(2), 0.64]; % compute the polynomials coefficients given ...
- wcf,socket,数据传输方式
WCF的最终目标是通过进程或不同的系统.通过本地网络或是通过Internet收发客户和服务之间的消息. WCF合并了Web服务..net Remoting.消息队列和Enterprise Servic ...
- 一个基于RBAC0的通用权限设计清单
注:RBAC0与RBAC1不同在于权限继承.关于RBAC1的权限设计,敬请关注作者后续CSDN博客.1,用户表 保存系统用户信息,如张三.李四,字段可以有id.name.fullname.email. ...
- python 代码片段22
#coding=utf-8 class AddressBookEntry(object): version=0.1 def __init__(self, name,phone): self.name ...
- BZOJ2158 : Crash 的旅行计划
A类数据: $n,q\leq1000$ 修改:$O(1)$直接改 查询:$O(n)$BFS B类数据: $n,q\leq100000$,保证是一条链 用线段树维护区间最大前缀.后缀和 修改:$O(\l ...
- UVA 393
The Doors Description You are to find the length of the shortest path through a chamber containing o ...
- Theano深度学习结构分析
Reference:Theano入门三部曲 http://deeplearning.net/tutorial/logreg.html (Softmax回归) http://deeplearning. ...
- Facebook React.js库 入门实例教程
作者: 阮一峰 日期: 2015年3月31日 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩 ...