您的位置:首页 > 移动开发 > Android开发

android 中Intent 的用法

2013-01-04 14:10 211 查看
Intent:意图,主要实现Activity之间的来回切换和数据传递。

1)
简单切换示意代码如下:

//新建一个意图
Intent intent = new Intent();
//装载跳转从IntentTest跳转到MainActivity类
intent.setClass(IntentTest.this, MainActivity.class);

//开启新Activity
IntentTest.this.startActivity(intent);

2)
Activity之间传递数据

A. 采用普通方式存放数据

第一步,构建要传递的数据。

//新建一个意图
Intent intent = new Intent();
//存放传递的数据
intent.putExtra("test", "我是要传递的数据");
//装载跳转从IntentTest跳转到MainActivity类
intent.setClass(IntentTest.this, MainActivity.class);

//开启新Activity
IntentTest.this.startActivity(intent);

第二步,获取传递的数据。

在跳转的目的地建立一个Intent,接收数据。

//新建一个接收意图
IntentreceiveIntent = getIntent();

//接收传过来的数据

String receiveData = receiveIntent.getStringExtra("test");

B. 采用Bundle封装数据的方式

第一步,构建要传递的数据。

//新建一个意图
Intent intent = new Intent();
//构建一个Bundle
Bundle bundle = new Bundle();
//存放传递的数据
bundle.putString("test", "我是用Bundle方式传递的数据");
//把Bundle装载进Intent
intent.putExtras(bundle);
//装载跳转从IntentTest跳转到MainActivity类
intent.setClass(IntentTest.this, MainActivity.class);

//开启新Activity
IntentTest.this.startActivity(intent);

第二步,获取传递的数据。

在跳转的目的地建立一个Bundle,接收数据。

//新建一个接收Bundle
BundlereceiveBundle = getIntent().getExtras();

//接收传过来的数据

String receiveData = receiveBundle.getString ("test");

C. 回传数据的处理

场景:Activity A
跳转至Activity B,然后B
回传数据给A,如何操作。

建议采用重写onActivityResult()的方式,来操作数据的传递。

注意几个要点:

第一,A跳转至B时,采用startActivityForResult(Intent对象,大于等于0的整数值);

第二,A中重写onActivityResult(intrequestCode,
int resultCode, Intent data)方法,用data来接收数据;

第三,B采用setResult方法而不是startActivity()方法跳转。同时,B最后必须finish()。

以上是自己总结和摘抄自网络,请大家帮忙补充完善,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: