任何人都可以列出要与 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/