使用Intent实现Activity之间传值与跳转(转)
转:http://blog.csdn.net/cjjky/article/details/6337447
在一个Android的应用程序中,很少只存在一个Activity,一般都有多个Activity,如何在多个Activity之间进行跳 转和传值呢?我们可以通过 Intent 对象来实现上面所述的功能。本例通过在FirstActivity中实现两个数进行相加,把相加的结果值通过Intent把值传递到 SecondActivity中。
我们新建一个Android的工程,有两个Activity,分别为FirstActivity 和 SecondActivity ,同时在资源文件下的 res/layout 目录下也有两个布局文件,分别为 main.xml【对应FirstActivity】和secondlayout.xml【对应SecondActivity】,目录的结构图如下:

在 main.xml 布局文件中添加两个EditText控件,一个TextView控件,一个Button按钮,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:id="@+id/firstNum"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="加"
android:textSize="20sp"
/>
<EditText
android:id="@+id/secondNum"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btnCalc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="计算结果"/>
</LinearLayout>
在secondlayout.xml布局文件中,添加一个EditText控件来显示从FirstActivity中传过来的值。代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:id="@+id/result"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
在FirstActivity中的代码如下:
package com.andyidea.test; import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText; public class FirstActivity extends Activity { EditText firstNum,secondNum;
Button calc; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); firstNum = (EditText)findViewById(R.id.firstNum);
secondNum = (EditText)findViewById(R.id.secondNum);
calc = (Button)findViewById(R.id.btnCalc);
calc.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
String num1 = firstNum.getText().toString();
String num2 = secondNum.getText().toString(); Intent intent = new Intent();
intent.putExtra("one", num1);
intent.putExtra("two", num2);
intent.setClass(FirstActivity.this, SecondActivity.class);
startActivity(intent);
}
});
}
}
在SecondActivity中的代码如下:
package com.andyidea.test; import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.EditText; public class SecondActivity extends Activity { EditText result; public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.secondlayout); result = (EditText)findViewById(R.id.result); Intent intent = getIntent();
String num1 = intent.getStringExtra("one");
String num2 = intent.getStringExtra("two");
int ret = Integer.parseInt(num1) + Integer.parseInt(num2);
result.setText(ret+"");
}
}
同时别忘了在Manifest配置文件中对FirstActivity和SecondActivity进行注册
使用Intent实现Activity之间传值与跳转(转)的更多相关文章
- 安卓--使用Intent实现Activity之间传值与跳转
http://blog.csdn.net/cjjky/article/details/6337447 在一个Android的应用程序中,很少只存在一个Activity,一般都有多个Activity,如 ...
- Intent在Activity之间传值的几种方式
发这篇博客主要讲一下Android中Intent中如何传值的几种方法: 1:基本数据类型,包含了Java八种基本数据类型和CharSequece文本2:八种数据类新对应数组和CharSequece文本 ...
- Android菜鸟的成长笔记(10)——使用Bundle在Activity之间传值
原文:[置顶] Android菜鸟的成长笔记(10)——使用Bundle在Activity之间传值 前面我们了解了如何启动一个Activity,一个Activity在启动另外一个Activity的时候 ...
- 从0系统学Android-2.3使用 Intent 在 Activity 之间穿梭
2.3 使用 Intent 在 Activity 之间穿梭 在上一节中我们已经学会了如何创建一个 Activity 了.对于一个应用程序来说,肯定不可能只有一个 Activity.下面就来学习多个 A ...
- 【Android基础】利用Intent在Activity之间传递数据
前言: 上一篇文章给大家聊了Intent的用法,如何用Intent启动Activity和隐式Intent,这一篇文章给大家聊聊如何利用Intent在Activity之间进行沟通. 从一个Activ ...
- intent实现Activity之间跳转的各种传值
一.在Activity之间传递String类型的数据 传递 @Override public void onClick(View v) { String num1 = firstNum.getText ...
- 使用Intent实现Activity的显式跳转
[正文] 这里以按钮实现活动跳转为例,为实现这个功能,我们需要三个步骤: 1.点击按钮才发生页面跳转,因此,第一步我们先要找到要点击的按钮 如何拿到按钮对象呢?通过资源id,前面我们提到过,在R.id ...
- 安卓开发-intent在Activity之间数据传递
安卓开发-intent在Activity之间数据传递 [TOC] intent实现普通跳转 使用intent的setclass方法,示例(由此界面跳转到NewActivity界面) //使用setOn ...
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
http://blog.csdn.net/cjjky/article/details/6441104 在Android中的不同Activity之间传递对象,我们可以考虑采用Bundle.putSeri ...
随机推荐
- python中的__init__
__init__ __init__中__表示系统默认命名,init是初始化的意思.由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去.以学生类为例,通过定义 ...
- CentOS7下安装安装android sdk & gradle
参考: 谢谢大佬! https://blog.csdn.net/jiangxuexuanshuang/article/details/88600574 主要就是安装sdk 与 gradle sdk下载 ...
- git---从已有分支拉出新分支
文章目录 开发中,经常需要从一个已有的分支拉出一个新分支,去这个新分支做一些开发改动,这里示例为: 从master分支,重新拉取出一个新的分支,名字为dev,具体命令如下: 切换到被copy的分支(m ...
- Html5 学习笔记 --》css3 学习
在开发任务中最好不要使用前缀 可以设置发散图形 圆形 方形等 边框图片效果: CSS3 变形效果: Css3 3D立体变形: css 设置 CSS3 过度效果: div:hover { backgro ...
- python 装饰器 第三步:使用语法糖
# 第三步:使用语法糖(就是语法) # 用于扩展基本函数的函数 def kuozhan(func): # 扩展功能1 print('饭前要洗手') # 调用基本函数 func() # 扩展功能2 pr ...
- StarUml3.10 Mac 注册key 破解
/Applications/StarUML.app/Contents/Resources StarUML是用nodejs写的.确切的说是用Electron前端框架写的.新版本中所有的starUML源代 ...
- 一个spark streaming的黑名单过滤小例子
> nc -lk 9999 20190912,sz 20190913,lin package com.lin.spark.streaming import org.apache.spark.Sp ...
- 原生AJAX的封装
/**调用AJAX ajaxPlug.openajax({ url: "./TestXHR.aspx", //请求地址 type: "POST", //请求方式 ...
- SqlServer 行转列 查询 并 导出 到 Excel 中 自动换行
SELECT A.Hawb, ( SELECT GoodsNameCn+char(10) FROM HawbBody hl WHERE hl.Hawb=A.Hawb FOR XML PATH('') ...
- 【目录】sql server 架构篇系列
随笔分类 - sql server 架构篇系列 sql server 高可用镜像 摘要: 一.什么是数据库镜像 基本软件的高可用性解决方案 快速的故障转移恢复(3秒转移),低硬件成本 基于数据库级别的 ...