首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

利用Bundle实现Android Activity间讯息的传递

2013-09-11 
利用Bundle实现Android Activity间消息的传递之前写过一篇文章是关于Android 的Activity跳转的,但当中没涉

利用Bundle实现Android Activity间消息的传递

之前写过一篇文章是关于Android 的Activity跳转的,但当中没涉及到Activity的消息的传递。利用Bundle是一种比较方便的办法。

程序的效果是活动A向B跳转的同时发送一字符串,B读出字符串。

先在AndroidManifest.xml中定义一个新的Activity,target:

?

第一个活动的代码如下:

package com.ray.test;import android.app.Activity;import android.os.Bundle;public class Target extends Activity{    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Bundle bundle = getIntent().getExtras();          String data=bundle.getString("Data");//读出数据        setTitle(data);    }}

?

?

?

?

1 楼 lordhong 2009-07-13   嗯, 不错, 如果要从Target往TestBundle回传数据/信息, 可以在TestBundle里面:
startActivityForResult(intent, 1333); // 1333是request code

然后在Target里面, 回传的时候:
Intent data = new Data();
data.putExtra("msg", "my message");
setResult(RESULT_OK, data);
finish();

在TestBundle里出来传回来的数据/信息:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    String msg = data.getExtras.getString("msg");
// ...
} 2 楼 raymondlueng 2009-07-13   恩,谢谢你的回复,很好! 3 楼 二十一 2009-07-13   还有个东西需要留意的就是requestCode 它是作为标识此次intent出现的,他可以设置为任何你想要的int值,从而在onActivityResult中据此做出不同的处理 4 楼 jd2bs 2009-07-13   楼上几位说的都很到位 简洁

热点排行