Android之Activity startActivityForResult和setResult方法解析

1.startActivity()  简单的从aActivity跳转到bActivity,可以put数据进行跳转

2.startActivityForResult():

aActivity进行跳转 :通过startActivityForResult(Intent intent, int requestCode) 

startActivityForResult(Intent intent, int requestCode) 
startActivityForResult(intent, Constant.resultCode);

其中requestCode是请求码,必须要>0的值,另外在aActivity中必须要复写onActivityResult 方法来接收bActivity回传过来的数据,并对数据进行处理;

3.跳转到bActivity后,在bActivity中设置需要回传的数据,并设置返回数据通过:

//设置返回数据
setResult(RESULT_OK, intent);
finish();

其中RESULT_OK是resultCode(结果码)

4.回到aActivity中,

@Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {}

requestCode和resultCode  请求码和结果码都已经设置好了,通过:

if (requestCode == Constant.resultCode && resultCode == RESULT_OK) {
            if (data != null) {}}

对bActivity返回的数据进行处理;

发布了40 篇原创文章 · 获赞 0 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/java9832/article/details/104764012