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

Android之启动一个activity并且获得回传数据

2011-09-22 14:32 465 查看
在Android中,如果想要启动一个activity,可以用startActivity,或者是startActivityForResult(intent, GET_CODE)

如果是想要得到新的activity回传的数据的话,必须使用第二个方法startActivityForResult(intent, GET_CODE);

并且在原来的activity中覆写onActivityResult(int requestCode, int resultCode,
Intent data)来对获取的数据进行处理

例如在原来的activity中有如下的代码对接受到的数据进行处理

/**
* 该方法是回调方法,当startActivityForResult启动的activity结束后
*
* @param requestCode 传递给startActivity()的请求码
* @param resultCode 从启动的activity中,在setResult()设置的一个结果码,一般用来标识处理的结果
* @param data 用来接受传递过来的数据
*/
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == GET_CODE) {
Editable text = (Editable)mResults.getText();
if (resultCode == RESULT_CANCELED) {
text.append("(cancelled)");
// Our protocol with the sending activity is that it will send
// text in 'data' as its result.
} else {
text.append("(okay ");
text.append(Integer.toString(resultCode));
text.append(") ");
if (data != null) {
text.append(data.getAction());
}
}
text.append("\n");
}
}

在开启新的activity的时候,有下面的程序

//开启一个activity,并且想得到返回数据. 会连同GET_CODE一起返回
Intent intent = new Intent(ReceiveResult.this, SendResult.class);
startActivityForResult(intent, GET_CODE);

在新的activity中有如下的程序
setResult(RESULT_OK, (new Intent()).setAction("Corky!"));
finish();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android null
相关文章推荐