任何人都可以列出使用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 } } }