博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Bundle类
阅读量:4946 次
发布时间:2019-06-11

本文共 2497 字,大约阅读时间需要 8 分钟。

今天发现自己连Bundle类都没有搞清楚,于是花时间研究了一下。

依据google官方的文档()

Bundle类是一个key-value对,“A mapping from String values to various Parcelable types.

类继承关系:

java.lang.Object

     android.os.Bundle
Bundle类是一个final类:
public final class
Bundle
extends Objectimplements Parcelable Cloneable

两个activity之间的通讯能够通过bundle类来实现,做法就是:

(1)新建一个bundle类

Bundle mBundle = new Bundle();
(2)bundle类中添�数据(key -value的形式,还有一个activity里面取数据的时候,就要用到key,找出相应的value)

mBundle.putString("Data", "data from TestBundle");
(3)新建一个intent对象,并将该bundle添�这个intent对象

Intent intent = new Intent();  intent.setClass(TestBundle.this, Target.class);  intent.putExtras(mBundle);
完整代码例如以下:

android mainfest.xml例如以下:

两个类例如以下:intent从TestBundle类发起,到Target类。

类1:TestBundle类:

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 TestBundle extends Activity {  		private Button button1;	private OnClickListener cl;     public void onCreate(Bundle savedInstanceState) {      	super.onCreate(savedInstanceState);      	setContentView(R.layout.main);            	button1 = (Button) findViewById(R.id.button1);    	cl = new OnClickListener(){    		@Override    		public void onClick(View arg0) {				// TODO Auto-generated method stub				Intent intent = new Intent();  				intent.setClass(TestBundle.this, Target.class);  				Bundle mBundle = new Bundle();  				mBundle.putString("Data", "data from TestBundle");//压入数据  				intent.putExtras(mBundle);  				startActivity(intent);			}        };        button1.setOnClickListener(cl);    }}
类2: Target

import android.app.Activity;  import android.os.Bundle;  public class Target extends Activity{      public void onCreate(Bundle savedInstanceState) {      	        super.onCreate(savedInstanceState);          setContentView(R.layout.target);          Bundle bundle = getIntent().getExtras();    //得到传过来的bundle        String data = bundle.getString("Data");//读出数据          setTitle(data);      }  }
布局文件:

main.xml

target.xml

String.xml

Hello World, TestBundle!
測试Bundle使用方法
点击跳转
来到target activity
结果:

跳转结果:

转载于:https://www.cnblogs.com/yxwkf/p/3922974.html

你可能感兴趣的文章