startActivityforResult的RequestCode类型

vin*_*nod 6 android android-intent

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

Nis*_*ant 7

当您为结果启动requestCode >= 0活动onActivityResult()时,当第二个活动结束时,此代码将返回到第一个活动.Activity您可以从您的结果开始多个结果Activity.在每种情况下,您都会获得startActivityForResult()传递requestCode的方法的回调.在onActivityResult()我们可以使用requestCode找出哪些活动,我们已经收到了回调.因此,要区分Activities我们使用不同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
  }
 }
}
Run Code Online (Sandbox Code Playgroud)