为什么导致startActivityForResult来之前活动真正开始? [英] Why does result from startActivityForResult come before activity really starts?
本文介绍了为什么导致startActivityForResult来之前活动真正开始?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下的code键启动活动:
I have the following code to start activities:
public boolean onOptionsItemSelected(final MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case MENU_PREFS:
startActivityForResult(new Intent(this, PreferencesActivity.class),1);
break;
case MENU_ABOUT:
startActivityForResult(new Intent(this, AboutActivity.class),2);
break;
}
return false;
}
和以下赶上结果:
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data){
switch (requestCode){
case 1:
case 2:
if (resultCode==RESULT_CANCELED)
finish();
}
但onActivityResult活动之前触发(对于结果)开始。它的工作原理很奇怪。首先,它retuns结果与相应的请求code(1或2我的情况)与结果code = 0,所以我的主要活动结束。而这相应的活动(结果)真正开始之后。 WTH?
but onActivityResult triggers before activity (for result) starts. It works weird. First it retuns result with corresponding requestCode (1 or 2 in my case) with resultCode=0 so my main activity finishes. And right after that corresponding activity (for result) really starts. WTH?
推荐答案
这是一个已知问题或功能的Android系统。请参见这线涵盖类似问题
It is a know issue or feature in Android. See this thread which covers similar problem
这篇关于为什么导致startActivityForResult来之前活动真正开始?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文