1.使用Intent进行传输

	//发送数据的Activity
class button implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String ET_1String = ET_1.getText().toString(); //得到文本输入框中的文本
String ET_2String = ET_2.getText().toString();
Intent intent = new Intent();
intent.putExtra("one",ET_1String); //进行参数的传递(“参数名字”,参数)
intent.putExtra("two",ET_2String);
intent.setClass(MainActivity.this, result.class);
MainActivity.this.startActivity(intent);
}
} //接收数据的Activity
public class result extends Activity{
private TextView resulTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
resulTextView = (TextView)findViewById(R.id.TV_1);
Intent intent = getIntent(); //定义接收数据的Intent
String oneString = intent.getStringExtra("one");
String twoString = intent.getStringExtra("two");
int a = Integer.parseInt(oneString); //进行计算之前要进行强制类型转换
int b = Integer.parseInt(twoString);
int c = a * b;
resulTextView.setText(c + ""); //要加一个空字符对int类型进行强制类型转换
}
}

2.使用静态变量进行传递

1.主界面(发送数据的Activity)

class ButtonListener implements android.view.View.OnClickListener{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(MainActivity.this, OtherActivity.class);
OtherActivity.nameString = "zhao";
startActivity(intent);
}
} 2.接受数据Activity public class OtherActivity extends Activity{
//定义静态变量
public static String nameString; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.otheractivity);
System.out.println("nameString-------->"+nameString);
}
}

3.利用setResult进行数据传输

	//1.要关闭的页面
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.otheractivity);
Intent intent = this.getIntent();
intent.putExtra("tel", 12345);
//设置requestCode和带有数据的intent对象
OtherActivity.this.setResult(3, intent);
//马上关闭Activity
this.finish();
} //2.上面的页面关闭时,此页面进行数据的接收
class ButtonListener implements android.view.View.OnClickListener{
@Override
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setClass(MainActivity.this, OtherActivity.class);
//与普通的start方法不同,需要设置requestCode
startActivityForResult(intent, 1);
}
} //如果要进行此操作,需要在数据接收页面中复写activity的onActivityResul()方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
int tel = 0;
//根据返回码resultCode来判断下一步进行的业务代码
if(resultCode==3){
tel = data.getIntExtra("tel", 0);
}
Log.i(TAG, "tel--------->"+String.valueOf(tel));
}


【Android基础】Activity之间进行参数传递的三种方式的更多相关文章

  1. 【Android 复习】 : Activity之间传递数据的几种方式

    在Android开发中,我们通常需要在不同的Activity之间传递数据,下面我们就来总结一下在Activity之间数据传递的几种方式. 1. 使用Intent来传递数据 Intent表示意图,很多时 ...

  2. Android - 页面返回上一页面的三种方式

    今年刚刚跳槽到了新公司,也开始转型做Android,由此开始Android的学习历程. 最近在解很多UI的bug,在解bug过程中,总结了在UI的实现过程中,页面返回上一页面的几种实现方式. 一. 自 ...

  3. struts2简单入门-参数传递的三种方式

    三种方式的简单说明 属性传递 把参数定义为属性提供get/set方法. 使用情况 参数少,不需要共享. 演示代码 public class LoginAction extends ActionSupp ...

  4. Android基础 -- Activity之间传递数据(bitmap和map对象)

    原文:http://blog.csdn.net/xueerfei008/article/details/23046341 做项目的时候需要用到在2个activity之间传递一些数据,之前做的都是些字符 ...

  5. Android 开发添加控件事件的三种方式

    import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view ...

  6. Android 监听软键盘按键的三种方式

    前言: 我们在Android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的“Go”按键加载url页面:在点击搜索框的时候,点击右下角的searc ...

  7. c++参数传递的三种方式

    一般来说C++中参数传递有三种方式:值传递.指针传递.引用传递 1.值传递——传值 值传递是最常见的一种参数传递的方式,但是对初学者来说也最容易出错.如下例: #include<iostream ...

  8. spring mvc 参数传递的三种方式

    springmvc.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  9. Spring基础05——Spring依赖注入的三种方式

    Spring支持3种依赖注入的方式:属性注入.构造器注入.工厂 1.属性注入 属性注入即通过setter方法注入Bean的属性或依赖的对象.使用<property>元素,使用name属性指 ...

随机推荐

  1. 不可不知的DIP、IoC、DI以及IoC容器

    面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.当中.OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念. 本文首先用实例阐述四个概 ...

  2. LaTeX中表格多行显示的最简单设置方法

    这事实上是一个非常easy的问题,可是这两天发现我之前的解决方式太麻烦了.简介一下这样的最简单的方法: 之前设置多行显示的时候,用类似于以下这样的方法进行多行显示: \begin{table} \ne ...

  3. Lichee (五岁以下儿童) sysconfig1.fex 配置系统

    sysconfig配置系统,作为一个通用的软件平台,还希望通过它.能够适应用户不同的方案.通过给出一个相应的配置.用户的方案就能够自己主动执行,而不须要改动系统里面的代码,或者又一次给出參数. 一. ...

  4. Linux mysql 数据库忘记root密码

    1.修改MySQL的登录设置: # vi /etc/my.cnf 1在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi. 2.重新启动mysqld # /etc/i ...

  5. oracle database 12c R1 安装文档

    INSTALLORACLE DATABASE 12C 完整的安装文档下载地址: http://download.csdn.net/detail/royjj/5665869 OS:ORALCE LINU ...

  6. mmc生产任务分配问题

    mmc生产任务分配问题,本题目简单.

  7. python学习之list

    list: 创建:list = [5,7,9] 取值和改值:list[1] = list[1] * 5 列表尾插入:list.append(4) 去掉第0个值并返回第0个值的数值:list.pop(0 ...

  8. Android PackageInstaller 安装和卸载

    应用的安装方式:adb install或者下载安装 过程分析请參考老罗的blog,这里记录一下第三方应用程序安装apk的过程. 安装的过程主要是调用PackageInstaller这个App,源码的位 ...

  9. ASP.NET Core MVC Hello World

    ASP.NET Core 现在ASP.NET Core还在不断成长.更新中,说不定到了明天又换了个模样,就如同一个小孩,从蹒跚学步,到奔向未来. 所以我们可以相应的去理解更新中所发生的变化,包容它.呵 ...

  10. 【leetcode】LRU

    import java.util.HashMap; import java.util.Map; public class LRUCache { private int capacity; privat ...