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

本文共 2448 字,大约阅读时间需要 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
结果:

跳转结果:

转载地址:http://nmzjm.baihongyu.com/

你可能感兴趣的文章
APICloud框架——总结一下最近开发APP遇到的一些问题 (二)
查看>>
python day04
查看>>
JVM的内存区域划分
查看>>
MySQL基础
查看>>
1595:Symmetry
查看>>
你应该知道的大数据领域12大动向
查看>>
R-CNN for Small Object Detection
查看>>
IF函数多个条件判断及嵌套
查看>>
代码搬移
查看>>
ajax请求code:200但是进入error函数
查看>>
软件图标显示不正常的问题
查看>>
Golang websocket
查看>>
关于编码:Unicode/UTF-8/UTF-16/UTF-32
查看>>
C++ OpenSSL 之三:生成CSR文件
查看>>
amaze ui响应式辅助
查看>>
C++getline使用
查看>>
Spinner使用二
查看>>
android 隐藏输入法键盘
查看>>
Android jni 中打印logcat日志
查看>>
SSL和keystore生成、导入等配置
查看>>