startActivityForResult和startActivity详解

论坛 期权论坛 脚本     
匿名网站用户   2020-12-21 11:18   1101   0
startActivityForResult与startActivity的不同之处在于
1、startActivity( )
仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( )。
2、startActivityForResult( )

可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activity,而当这个Text2Activity调用了finish()方法以后,程序会自动跳转回T1Activity,并调用前一个T1Activity中的onActivityResult( )方法。

例如:

1、startActivity( )

在OneActivity中存数据:

Intent intent=new Intent(OneActivity.this,TwoActivity.class);

intent.putExtra("text", text_Str);

startActivity(intent);


在TwoActivity中获取数据:

Intent intent=getIntent();

intent.getStringExtra("text");


2、startActivityForResult( )

1跳转

Intent intent=new Intent(OneActivity.this,TwoActivity.class);

intent.putExtra("text", text_Str);

startActivityForResult(intent,0);

2重写onActivityResult();

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (resultCode) { //resultCode为回传的标记,我在B中回传的是RESULT_OK
case RESULT_OK:
Intent int=data.getExtras(); //data为B中回传的Intent
String text=int.getString("text");//text即为回传的值
break;
default:
break;
}
}

3.在TwoActivity中回传数据时采用setResult方法,并且之后要调用finish方法。

setResult(RESULT_OK, intent);
finish();//此处一定要调用finish()方法






分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP