Android,使用Intent或Bundle传递参数,跳转页面。
(1)使用Intent跳转页面:
第一个activity:
MainActivity.java中:
Intent myIntent = new Intent();
myIntent.putExtra("myText", myTextView.getText());
myIntent.setClass(MainActivity.this, Activity2.class);
startActivity(myIntent);
第二个activity:
Activity2.java中:
//从MainActiviry中跳转到这个Activity中利用Intent传递数据。
//获取Intent
Intent intent = getIntent();
String text = intent.getStringExtra("myText");
textview2 = (TextView)findViewById(R.id.textView1);
textview2.setText(text);
(2)如果点击按钮或者链接,打开一个网站。。。
myBtn2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//访问网页。
Uri uri = Uri.parse("http://www.baidu.com");
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
}
});
(3)使用Bundle传递参数
源Activity中:MainActivity.java
//使用Bundle传递参数到另一个Activity
BundleBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//使用Bundle传递参数
Intent myIntent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("info",myEditText.getText().toString());
myIntent.putExtras(bundle);
myIntent.setClass(MainActivity.this, Activity3Bundle.class);
startActivity(myIntent);
}
});
目标Activity:Activity3Bundle.java
public class Activity3Bundle extends Activity {
private TextView textView3;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO 自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.activity3);
textView3 = (TextView)findViewById(R.id.textView3);
Bundle myBundle = this.getIntent().getExtras();
String myText = myBundle.getString("info");
textView3.setText(myText);
}
}
(4)使用Bundle传递参数,第一个Activity点击一个按钮,跳转到第二个页面。第二个页面输入一个内容,点击按钮,返回第一个Activity,并将第二个Activity中输入的内容显示在第一个Activity中。
第一个Activity代码:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView; public class MainActivity extends Activity {
private TextView myTextView;
private Button ZhuceBtn;
private final static int REQUESTCODE = 1;//返回的结果码 //Intent
private Intent MyIntent; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myTextView = (TextView)findViewById(R.id.textView1);
ZhuceBtn = (Button)findViewById(R.id.buttonzhuce); //使用Intent向另一个Activity发送请求,使用Bundle返回参数
ZhuceBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
// TODO 自动生成的方法存根
MyIntent = new Intent();
MyIntent.setClass(MainActivity.this, Activity3Bundle.class);
startActivityForResult(MyIntent,REQUESTCODE);
}
}); } @Override
protected void onActivityResult(int requestCode,int resultCode,Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==REQUESTCODE){
if(resultCode==2){
setTitle("Cancel****");
}else
if(resultCode==1){
// String Name=data.getStringExtra("username");
Bundle bundle = data.getExtras();
String Name = bundle.getString("username");
myTextView.setText("恭喜您,注册成功。您的用户名是:"+Name);
}
}
} }
第二个Activity:
public class Activity3Bundle extends Activity {
private Button zhuceBtn;
private EditText zhuceEdit;
private Button buttonCancle;//取消按钮
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO 自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.activity3);
zhuceEdit = (EditText)findViewById(R.id.editTextzhuce);
zhuceBtn = (Button)findViewById(R.id.buttonzhuce);
buttonCancle = (Button)findViewById(R.id.buttonCancle);
zhuceBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
//将参数传回请求的Activity
Intent zhuceIntent = new Intent();
Bundle myBundle = new Bundle();
myBundle.putString("username", zhuceEdit.getText().toString());
//zhuceIntent.putExtra("username", zhuceEdit.getText().toString());
zhuceIntent.putExtras(myBundle);
setResult(1,zhuceIntent);
finish();
}
});
buttonCancle.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
//将参数传回请求的Activity
Intent zhuceIntent = new Intent();
setResult(2,zhuceIntent);
finish();
}
});
}
}
原文地址: http://my.eoe.cn/949869/archive/3626.html
Android,使用Intent或Bundle传递参数,跳转页面。的更多相关文章
- Android 用Intent和Bundle传递参数
传递方: //点击btn_sub传递 fieldHeight.getText()和 fieldWeight.getText() private void setListeners() { ...
- 在Android中通过Intent使用Bundle传递对象
IntentBundle传递对象SerializableParcelable Android开发中有时需要在应用中或进程间传递对象,下面详细介绍Intent使用Bundle传递对象的方法.被传递的对象 ...
- 17_Android中Broadcast详解(有序广播,无序广播)最终广播,Bundle传递参数,传递参数的时候指定权限
1 Broadcast是Android中的四大组件之一,他的用途很大,比如系统的一些广播:电量低.开机.锁屏等一些操作都会发送一个广播. 2 广播被分为两种不同的类型:"普通广播( ...
- Fragment 创建 传递参数 跳转【典例】
Fragment一定要有一个无参的构造方法! 因为当Activity因屏幕旋转或者因内存不足被系统杀死时,会导致Activity被重新创建,而当Activity被重建时,FragmentManager ...
- 【转】Android中如何使用Bundle传递对象[使用Serializable或者Parcelable] -- 不错
原文网址:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1211/694.html Android中Bundle类的作用 Bun ...
- Android 笔记 Intent and Bundle day7
学习了Intent与Bundle的使用,进行应用中的交互 package com.example.intent; import android.app.Activity; import android ...
- Activity 间 bundle 传递参数
activity_main.xml <TableLayout xmlns:android="http://schemas.android.com/apk/res/android&quo ...
- 微信小程序携带参数跳转页面/获取页面栈
页面跳转携带参数(以传递两个参数为例) a.wxml 页面传递 1 <navigator url="/pages/b/b?id=1&sid='289'"> &l ...
- jqgrid如何在一个页面点击按钮后,传递参数到新页面
利用 Content/Scripts/dw-framework.js 中的AddTableMenu属性 <div class="Task" style="backg ...
随机推荐
- 在ubuntu14.04上编译android4.2.2系统
原创作品,转载请注明出处,严禁非法转载 copyright:weishusheng 2015.8.1 时下android系统非常流行,下面就来说一下,下载编译一个andro ...
- Hbase 建表基本命令总结
访问hbase,以及操作hbase,命令不用使用分号 hbase shell 进入hbase list 查看表 hbase shell -d hbase(main):024:0> scan '. ...
- Nitrous挂VPN
- [娱乐]GameMaker绘制参数方程的图像
今天,我翻了旧物,硬着头皮看了这源码.突然恍然大悟,这岂不就是当年学的参数方程! 目前,最早开始教授参数方程实在高三时,并作为一门选修课程,简化了求解圆锥曲线方程的难度,在高考中也很容易拿分,考试过后 ...
- js基础第二天
函数:是由事件驱动的或者当它被调用时执行的可以重复使用的代码块. 函数声明: 1. 自定义函数(常用) var num=10; function fun() { alert("我是自定义函数 ...
- leetcode Pow(doubule x,int n)
今天第一天开通博客,心情还是小激动的 上代码: 方法一:常规递归,x的n次方={xn/2*xn/2 //n为偶 xn/2*xn/2 *x //n为奇数 } ...
- Harris 角点检测
一 .Motivation 对于做图像处理的人来说,Harris角点检测肯定听过,1988年发表的文章"A combined corner and edge detector"描述 ...
- 关于C#动态调用VC Dll的方法(转)
http://blog.csdn.net/null1/article/details/3953155
- SGU223 - Little Kings(状态压缩DP)
题目大意 给定一个N*N(n<=10,k<=n*n)大小的棋盘,要求你在棋盘上放置k个国王,使得不会相互攻击,如果棋盘上某个格子放置了一个国王,那么与他相邻的八个格子都是他的攻击范围,问有 ...
- CM 部署bigdata测试环境群集机器报错
CM repo库info;