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 ...
随机推荐
- FirstOrDefault
FirstOrDefault:取序列中满足条件的第一个元素,如果没有元素满足条件,则返回默认值(对于可以为null的对象,默认值为null,对于不能为null的对象,如int,默认值为0)
- ViewPager onPageChangeListener总结
今天在做项目的时候,由于要处理viewPager页面滑动的事件,所以对其进行了一个小小的研究: 首先ViewPager在处理滑动事件的时候要用到OnPageChangeListener OnPageC ...
- 浅析WCF与WebService、WPF与Silverlight 区别
由于在<Windows服务调用Quartz.net 实现消息调度>中,涉及到ASP.NET Web Service //WebServiceSoapClient client = new ...
- ImagePacker
[下载]:ImagePacker 0.0.2 [作用]:将多个图片打包到指定大小的图片中,并输出配置文件.类似于 TexturePacker,不过当前只支持 Starling 格式输出(因为我现在使用 ...
- bzoj 3197 [Sdoi2013]assassin(Hash+DP+KM)
Description Input Output Sample Input 4 1 2 2 3 3 4 0 0 1 1 1 0 0 0 Sample Output 1 HINT [思路] Hash,D ...
- uvalive 4795 Paperweight
题意:给出一个5个顶点的多面体以及多面体内一点P.求让 多面体不同的方式(即以不同的面)放在地面上,设这个着地的面为A,多面体重心在A上的投影为B,在保证B在A内部且距离A的各个边界不小于0.2的前提 ...
- i++ 和 ++i 效率的分析
我们通常在写for循环 的时候,要实现变量 i 的自增 1 :往往会在i++ 和++i中随便挑一种写,对于i++和++i的理解,我们往往停留在返回的值的不同,其实i++与++i在实现效率上也有一定的不 ...
- phpMyAdmin导入本地数据库
phpMyAdmin导入本地数据库 在PHPMyAdmin导入数据时,点击导入--执行后出现错误: 您可能正在上传很大的文件,请参考文档来寻找解决方法. 可能就是因为数据库太大的原因. 那么如何 才能 ...
- 题解西电OJ (Problem 1005 -跳舞毯)--动态规划
Description zyf不小心得了一种怪病,为了维持一天的精力他必须不停跳动.于是他买了一条跳舞毯,每天跳上几小时.众所周知,跳舞毯是给定一个序列,让你在指定时间踏指定的按钮,但zyf似乎不怎么 ...
- 使用SVN服务器管理源码
最近在学习使用SVN管理自己的项目文件,正好有好的文章就拿来标记一下,正所谓: 站在巨人的肩膀上 天下知识为我所用 转载两篇关于使用SVN管理源码的文章. 使用SVN进行源码管理(上):http: ...