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 ...
随机推荐
- 用JS动态创建登录表单,报了个小错误
后来发现原来是: dvObj.style.border='#Red 1px sold'; 其中的Red多谢了一个‘#’, 但是奇怪的是在chrome和firefox都备有报错,但是在ie中报错了. 各 ...
- HDU 5675 ztr loves math
ztr loves math Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- C++ static_cast dynamic_cast reinterpret_cast const_cast转换
static_cast <type-id> ( expression ) 和C风格的类型转换相似,可以转换一个指针到基类,或者派生类.不做Run-time类型检查,这样转换并不总是安全的. ...
- (转载)linux环境变量
转自:http://www.cnblogs.com/growup/archive/2011/07/02/2096142.html Linux 的变量可分为两类:环境变量和本地变量 环境变量,或者称为全 ...
- 怎么创建MongoDB数据库
MongoDB didn’t provides any command to create “database“. Actually, you don’t need to create it manu ...
- linux 流量监控
iftop -i p5p1 -n -p dstat -n
- Java网络编程(UDP协议-聊天程序)
接收端: package WebProgramingDemo; import java.net.DatagramPacket; import java.net.DatagramSocket; publ ...
- [iOS基础控件 - 4.5] 猜图游戏
A.需要掌握的 1.添加图片资源(暂时认为@2x跟非@2x代表同一张图片) 2.搭建UI界面* 文本标签* 4个按钮* 中间的图片 3.设置状态栏样式 4.监听下一题按钮的点击 5.延迟加载数据* 加 ...
- html标签应用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Winform- 界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用
布局控件"WeifenLuo.WinFormsUI.Docking"是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件.而且控件使用也是比较简单的. 实 ...