美文网首页
startActivityForResult 解析用法

startActivityForResult 解析用法

作者: 提升即效率 | 来源:发表于2017-06-03 13:39 被阅读22次

    前言:

    想跳转到另外一个Activity ,finish后有结果返回,之前一直都没有做这个方面的详细解析,很容易混淆参数值,每次用到了都百度才想起,今天就把这节补全

    <br />

    相关函数:

    startActivityForResult(Intent intent, Int requestCode)
    setResut(int resultCode, Intent intent)
    onActivityResult(int requestCode, int resultCode, Intent intent)

    <br />

    留意上面的方法参数,就可以对应出两个参数值requestCode,resultCode,一个是要求值,一个是结果值,记住这两个就好办了,为了逻辑清晰,我这里就不传参数了(虽然这个主要作用是用于传参数的判断)

    <br />

    1.先是A中startActivityForResult(Intent intent, Int requestCode)跳转到B
    Intent intent=new Intent();intent.setClass(A.this, B.class);
    startActivityForResult(intent, 0);//requestCode必须大于等于0
    
    2.B中重写setResut(int resultCode, Intent intent)方法 返回B处理后的数据。
    setResult(OK, intent); finish();//此处一定要调用finish()方法
    
    3.A中重写onActivityResult(int requestCode, int resultCode, Intent intent)方法,用来接收B回传的数据。
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (resultCode) { //resultCode为B回传的标记,我在B中回传的是RESULT_OK case OK:
     if(requestCode == 0)//requestCode为判断A中哪里来(可能A中有两个入口调用startActivityForResult,这里就用到了)
     {
     //data获取回传的数据 
    
     }else{
     //data获取回传的数据 
    
     }
    break;default: break; }}
    

    相关文章

      网友评论

          本文标题:startActivityForResult 解析用法

          本文链接:https://www.haomeiwen.com/subject/paapfxtx.html