android - startActivityforResult 的 RequestCode 类型

标签 android android-intent

任何人都可以列出要与 startActivityForResult() 一起传递的 requestCode 的值及其用途吗?另外,您能否解释 setResult 可用的参数,例如 RESULT_OK 以及还有哪些参数?请帮忙。

最佳答案

当您使用 requestCode >= 0 启动结果 Activity 时,此代码将在第二个 Activity 完成时返回到第一个 Activity 的 onActivityResult()。您可以为您的 Activity 的结果启动多个 Activity。在每种情况下,您都会获得对传递 requestCode 的 startActivityForResult() 方法的回调。在 onActivityResult() 中,我们可以使用 requestCode 来找出我们收到了哪个 Activity 的回调。因此,为了区分来自 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
  }
 }
}

关于android - startActivityforResult 的 RequestCode 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12246280/

相关文章:

Android recyclerView findViewHolderForAdapterPosition 返回 null

java - 我如何知道我的服务何时从广播接收器与 Android 调用?

android - 从网络调用中获取数据的 Observable 获取前 5 个项目

android - 如何使一个按钮将多个 TextView 提交到我的电子邮件?

android - 如何在android中实现阴影(环境光)背景?

Android:如何在 Android Studio 中打开旧的 android 项目?

android - 通过 Intent 在类之间发送一个变量

android - ListView 始终具有相同的 Intent

android - 在另一个 PreferenceActivity 中启动自定义 PreferenceActivity

android - 如何返回到android中的父 Activity ?