两个Activity之间传递数据包Bundle

本文介绍了一个Android应用中如何通过Intent使用Bundle来传递包括字符串、整型等在内的复杂数据结构,并展示了如何在接收活动中解析这些数据。

MainActivity

package com.example.mac.sendargs;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
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.startAty).setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
               Intent i =new Intent(MainActivity.this,TheAty.class);
               //i.putExtra("data","Hello April!");
               Bundle b = new Bundle();
               b.putString("name","luka");
               b.putInt("age",2);
               b.putString("name1","lexi");
               i.putExtra("data",b);
               i.putExtras(b);
               startActivity(i);
           }
       });
    }

}

SecondActivity(TheAty)

package com.example.mac.sendargs;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class TheAty extends AppCompatActivity {

    private TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_the_aty);
        Intent i =getIntent();
       // Bundle data = i.getExtras();
        Bundle data = i.getBundleExtra("data");
        tv=(TextView)findViewById(R.id.tv);//用TextView显示值
        //tv.setText(i.getStringExtra("data"));
        tv.setText(String.format("name=%s,age=%d,name1=%s",data.getString("name"),data.getInt("age"),data.getString("name1","April")));
//
    }
}

图1

图1

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值