您的位置:首页 > 其它

startActivityForResult与startActivity

2016-01-30 11:11 453 查看
startActivityForResult与startActivity的不同之处在于:

1、startActivity( )

仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( )。

2、startActivityForResult( )

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

简单的写一下代码:

public class AActivity {
@Override
protected void onCreate(..., ...){
//略
startActivityForResult(new Intent(AActivity.this, BActivity.class), 0);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (resultCode) { //resultCode为回传的标记,我在B中回传的是0;	data是B中回传的数据
case 0:
String str = getIntent().getStringExtra("key");
if(//根据得到的str,做条件限制){
//略
}
break;
default:
break;
}
}
}

public class BActivity{

@Override
protected void onCreate(..., ...){//略。。。。。。<pre code_snippet_id="1570335" snippet_file_name="blog_20160130_1_6178169" name="code" class="html"><span style="white-space:pre">		</span>Intent intent = new Intent();
intent.putExtra("key","value");//value的类型根据需要来确定,暂且先为String
setResult(0, intent);
finish();
}}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: