大话android之Bundle传递参数

本文介绍了如何在Android应用中利用Bundle来实现不同Activity之间的数据传递。通过实例展示了如何打包和解包数据,包括字符串和整型等基本数据类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

bundle可以理解为是一个打包的类,可以装各种类型的数据,字符串   int数据类型 ,Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值。相对于Map,它提供了各种常用类型的putXxx()/getXxx()方法,如:putString()/getString()putInt()/getInt()putXxx()用于往Bundle对象放入数据,getXxx()方法用于从Bundle对象里获取数据。(转载自360.doc)

代码如下

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Button btn = (Button) this.findViewById(R.id.btn);
		btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
                                //只要用到跳转intent不能少
				Intent i = new Intent(MainActivity.this, Second.class);
                               //创建一个bundle对象
				Bundle b = new Bundle();
                                //传值
				b.putString("data", "字符串");
				b.putInt("data2", 10);
				i.putExtras(b);//打包到extra
				startActivity(i);//与intent相对应
			}
		});

	}
这是另一个activity的代码
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

public class Second extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);
	    TextView tv=(TextView)this.findViewById(R.id.tv);
	    //意思就是将该项目中包含的原始intent检索出来
	    Intent i=getIntent();
	    //将检索出来的intent中继续检索出里面的Extras
	    Bundle data=i.getExtras();
	    
	    /* 将检索出来的之释放(暂时这么理解吧)注意:format()函数是用来设定格式的函数,用以指定返回值的格式,但要配合各种不同的参数
	     * 同时如果你找的键值没有值对应   可以在这里定义
	     */
	    
	    tv.setText(String.format("data=%s,data2=%d,name=%s", data.getString("data"),data.getInt("data2"),data.getString("name","空参数")));
	}


}

layout中的代码省略,只知道一个xml中有一个按钮   另一个有一个文本  他们各自都有id就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值