Android中startActivityForResult的一种特殊使用

写在前面,startActivityForResult如何使用大家应该都熟悉了,今天说一下此篇文章的使用场景;

1.A这个Activity跳转到B这个Activity,然后B这个Activity要跳转到C这个Acitvity;

2.要求C这个页面中进行某项操作成功才可以finish(),然后直接回到A这个ACtivity(此时B这个ACtivity也是finish的),同时回到A这个Activity之后需要重新请求数据或做其他操作;

3.若C中操作未成功,那么c点击back返回的是b这个Actvity

解决步骤

1.A这个acitivty跳转到B使用

startActivityForResult(intent,201);同时在onActivityResult方法中,进行判断,执行需要的操作;

2.B中跳转到Acitvity也使用

startActivityForResult(intent,201);

同时在onActivityResult方法中,进行判断,执行一下操作

if(resultCode==RESULT_OK){

if(requestCode==201){

Intent intent =newIntent();

setResult(Activity.RESULT_OK,intent);

finish();

}

}

3.c这个activity操作成功之后需要返回到A这个activity

Intent intent =newIntent();

setResult(RESULT_OK, intent);

finish();

如此,可以满足上面提出的需求;当然也可以使用广播或者EventBus等进行解决;

若有不对之处,还请通知我一下,若有学习交流的意向,可以加我创建的群;479192454,共同学习,共同成长.

    原文作者:正阳Android
    原文地址: https://www.jianshu.com/p/ebbc8be6d925
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞