传递Bundle对象
1、总结
Bundle对象用于封装简单的数据 (存入数据),再将其封装到Intent对象中传递给活动,有两次封装
Bundle里面还可以在嵌入Bundle
之前在传递简单数据时候是用putExtra(name,value)
方法将指定数据封装到Intent对象
而Bundle对象是先创建Bundle对象再使用各种putXXX (String key,XXX value)
方法封装,
对应的用getXXX(String key)
方法可从其中获得数据
Bundle对象用法与Intent对象类似,不用Intent对象来封装数据,是因为Bundle对象用来对数据打包,在大型项目开发很受用
封装:Bundle对象准备好就调用putExtras(bundle)
或者putExtra(name,bundle)
方法将其封装到Intent对象
中
调用:getExtras()
或者getBundleExtra()
方法
2、案例
案例1:用putExtras(bundle)
方法封装,用getExtras()
方法调用
MainActivity.java
package com.example.transfersimpledata;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(MainActivity.this,ReceiveData.class);
Bundle b=new Bundle(