Activity调用startActivityForResult

作者: haegyeong | 来源:发表于2020-03-14 16:24 被阅读0次

    1.resultCode的值一直为0

    问题描述:AActivity调用startActivityForResult()方法,启动BActivity,然后在BActivity的onBackPressed()方法中调用setResult()方法,设置返回值,结果调试发现,AActivity的onActivityResult()方法中,获取的resultCode的值始终为0;

    问题原因:onBackPressed()方法中的 super.onBackPressed();问题。super.onBackPressed()是执行系统默认的操作,就是退出当前Activity,所以当我们重新这个方法时,不加super.onBackPressed(),就可以不退出Activity,执行自己的代码啦

    解决办法:两种
    方法一:
    @Override
    public void onBackPressed() {
    setResult(10);
    super.onBackPressed();
    }

    方法二:
    @Override
    public void onBackPressed() {
    //将super.onBackPressed();注释掉
    // super.onBackPressed();
    setResult(10);
    finish();
    }

    相关文章

      网友评论

        本文标题:Activity调用startActivityForResult

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