微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – startActivityforResult的RequestCode类型

任何人都可以列出使用startActivityForResult()传递的requestCode的值及其用途吗?另外,你能解释一下像RESULT_OK那样可用的setResult参数吗?还有什么?请帮助.

解决方法

当您使用requestCode> = 0启动结果活动时,当第二个活动完成时,此代码将返回到第一个活动的onActivityResult().您可以从您的活动开始多个活动结果.在每种情况下,您都会获得传递requestCode的startActivityForResult()方法的回调.在onActivityResult()中,我们可以使用requestCode来找出我们收到回调的活动.因此,要区分活动中的回调,我们使用不同的requestCodes.

例如:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Intent i = new Intent(FirstActivity.this,SecondActivity.class);
    startActivityForResult(i,1);
    Intent i = new Intent(FirstActivity.this,ThirdActivity.class);
    startActivityForResult(i,2);
}

protected void onActivityResult(int requestCode,int resultCode,Intent data) {

 if (requestCode == 1) {

  if (resultCode == RESULT_OK) {
  //Get the result from SecondActivity
  }

  }
 else  if (requestCode == 2) {
  if (resultCode == RESULT_OK) {
  //Get the result from ThirdActivity
  }
 }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐