Android手机开发:Intent和在Activity之间传递信息

21 篇文章 0 订阅

1. 简单的Intent使用,仅仅用于Activity直接的跳转

    	Intent intent = new Intent();
    	intent.setClass(FileProcessHust.this, MyListActivity.class);
    	startActivity(intent);

2. 复制的Intent使用,能够在Activity之间传递信息

static final int REQUEST_CODE = 1;
REQUEST_CODE是此次跳转的编号,用于在返回时识别,进行后一步处理。

	Intent intent1 = new Intent(ActivityMain.this, Activity1.class);
	intent1.putExtra("activityMain", "数据来自activityMain");
	startActivityForResult(intent1, REQUEST_CODE);

putExtras方法,是将一个数值对放到intent1里,传送此信息给Activity1。

在Activity1里,接受信息,方法如下:

	String data=null;
	Bundle extras = getIntent().getExtras();
	if (extras != null) {
	    data = extras.getString("activityMain");
	}

Activity1在结束时,也可以返回信息给ActivityMain,方法如下:

	Bundle bundle = new Bundle();
	bundle.putString("store", "数据来自Activity1");
	Intent mIntent = new Intent();
	mIntent.putExtras(bundle);
	setResult(RESULT_OK, mIntent);
	finish();

ActivityMain中,通过覆盖onActivityResult函数,处理Activity1返回的信息:

    @Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (requestCode == REQUEST_CODE) {
			if (resultCode == RESULT_CANCELED)
				setTitle("取消");
			else if (resultCode == RESULT_OK) {
				String temp=null;
				 Bundle extras = data.getExtras();
			        if (extras != null) {
			        	temp = extras.getString("store");
			        }
				setTitle(temp);
			}
		}
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值