使用Bundle在Activity之间交换数据及数据返回

本文介绍了如何使用Bundle在Android的Activity之间交换数据,包括在MainActivity中创建Intent,实例化Bundle,存储键值对,然后在AnotherActivity中通过Intent获取数据。此外,还讲解了AnotherActivity如何通过setOnClickListener回传数据到MainActivity,设置返回结果码并使用finish()关闭当前Activity。

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

1.使用Bundle在Activity之间交换数据

说明:Bundle是一个字符串值到各种Parcelable类型的映射,用于保存要携带的数据包

基本语法

MainActivity.java(On creat())

Intent intent = new Intent(MainActivty.this,AnotherActivity.class);

Bundle bundle = new Bundle();  //创建并且实例化一个Bundle对象

bundle.putCharSequence("key",value);//以键值对的形式输入数据

intent.putExtras(bundle);//将Bundle对象添加到intent中进行传输

startActivity(intent);//启动新的Activity

AnotherActivity.java(On Creat())

Intent intent = getIntent();//获取Intent对象

Bundle bundle = intent.getExtras();//获取传递的数据包

bundle.getString("key");//通过键名来获取键值


注意:

新增加AnotherActivity时候要在AndroidMainfest.xml中进行配置

<activity

android:name=".类名"//此类在默认的包下

android:lable="显示。。"

>

</activity>

1.AnotherActivity中的数据返回

AnotherActivity.java(OnClick())

可以用在一个onclick中进行回调

首先声明一下返回的状态码

private final int ResultCode = 1;//这里声明1为正确的返回码;

bnt.setOnclickListener(new OnClickListener()){

public void onClick(View v){

Intent intent = new Intent();

intent.putExtra("key",value);//以键值对的形式输入传入的数据

setResult(ResultCode,intent);//设置返回的结果码,并返回调用该Activity的Activity

finish();//关闭当前Activity

}

}

MainActivity.java


Private final int RequestCode = 1;//请求码

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode==RequestCode){
        if (resultCode==ResultActivity.ResultCode){
            Bundle bundle = data.getExtras();
            String result = bundle.getString("key");//通过key值进行获取返回的参数
        }
    }
}


下片会写一个关于上面知识总结的示例,大家有兴趣可以参考参考。

http://blog.csdn.net/qq_21813987/article/details/50646722

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值