【Android基础】Activity之间进行参数传递的三种方式
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之间进行参数传递的三种方式的更多相关文章
- 【Android 复习】 : Activity之间传递数据的几种方式
在Android开发中,我们通常需要在不同的Activity之间传递数据,下面我们就来总结一下在Activity之间数据传递的几种方式. 1. 使用Intent来传递数据 Intent表示意图,很多时 ...
- Android - 页面返回上一页面的三种方式
今年刚刚跳槽到了新公司,也开始转型做Android,由此开始Android的学习历程. 最近在解很多UI的bug,在解bug过程中,总结了在UI的实现过程中,页面返回上一页面的几种实现方式. 一. 自 ...
- struts2简单入门-参数传递的三种方式
三种方式的简单说明 属性传递 把参数定义为属性提供get/set方法. 使用情况 参数少,不需要共享. 演示代码 public class LoginAction extends ActionSupp ...
- Android基础 -- Activity之间传递数据(bitmap和map对象)
原文:http://blog.csdn.net/xueerfei008/article/details/23046341 做项目的时候需要用到在2个activity之间传递一些数据,之前做的都是些字符 ...
- Android 开发添加控件事件的三种方式
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view ...
- Android 监听软键盘按键的三种方式
前言: 我们在Android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的“Go”按键加载url页面:在点击搜索框的时候,点击右下角的searc ...
- c++参数传递的三种方式
一般来说C++中参数传递有三种方式:值传递.指针传递.引用传递 1.值传递——传值 值传递是最常见的一种参数传递的方式,但是对初学者来说也最容易出错.如下例: #include<iostream ...
- spring mvc 参数传递的三种方式
springmvc.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- Spring基础05——Spring依赖注入的三种方式
Spring支持3种依赖注入的方式:属性注入.构造器注入.工厂 1.属性注入 属性注入即通过setter方法注入Bean的属性或依赖的对象.使用<property>元素,使用name属性指 ...
随机推荐
- LaTeX中表格多行显示的最简单设置方法
这事实上是一个非常easy的问题,可是这两天发现我之前的解决方式太麻烦了.简介一下这样的最简单的方法: 之前设置多行显示的时候,用类似于以下这样的方法进行多行显示: \begin{table} \ne ...
- 物联网 开发板 基于ESP8266
The ESP8266 The ESP8266 is a highly integrated chip designed for the needs of an increasingly connec ...
- [Leetcode]-ReverseLinkedList
题目:单链表取反 #include <stdlib.h> #include <stdio.h> typedef struct node *list; typedef struc ...
- 编程算法 - 字典分词 代码(C)
字典分词 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 给定字典, 给定一句话, 进行分词. 使用深度遍历(DFS)的方法. 使用一个參数string ...
- Android横屏竖屏设置
Android横竖屏设置: 方法一:onCreate()中 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); // ...
- Android开发之按键、触摸屏和手势输入专业压力測试方法
按键输入.触摸屏输入和手势笔画输入等功能是Android开发的基本功能.其稳定性和健壮性对移动应用系统开发很重要.按键.触摸屏和手势输入专业压力測试方法能够使用Monkey,相应用程序进行压力測试,检 ...
- Cocos2d-x Layout简单使用
1. Text* alert = Text::create("Layout", "fonts/Marker Felt.ttf", 30 ); alert-> ...
- 开源企业IM-免费企业即时通讯-ENTBOOST V2014.183 Windows版本号正式宣布
ENTBOOST,VERSION 2014.183 Windows(点击下载)版本号公布.主要添加PC端P2P(点对点)文件传输功能:公布安卓Android手机clientAPP 1.0版本号.公布苹 ...
- c#为了实现自己的线程池功能(一)
线程池的技术背景 在面向对象编程中,创建和销毁对象是非常费时间的,由于创建一个对象要获取内存资源或者其他很多其他资源,所以提高服务程序效率的一个手段就是尽可能降低创建和销毁对象的次数.特别是一些非常耗 ...
- Unity--关于优化方面的那些事儿(一)
近期做一个小项目,要求包的大小不能超过30M. 晚上做了个小实验,方法的确非常本,只是曾经非常多没懂的地方如今清晰了很多,我是菜鸟!希望本文章对大家有帮助,谢谢! 实验结果: 实验结果: 1.场景中仅 ...