我在 Android 4.0.x 上遇到问题。当在 onActivityResult 中向上导航时,resultCode 始终为 0 并且 Intent 为 null。
向上导航代码:
protected void navigateUp(){
Intent upIntent = NavUtils.getParentActivityIntent(this);
upIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
TaskStackBuilder.create(this)
.addNextIntentWithParentStack(upIntent)
.startActivities();
} else {
NavUtils.navigateUpTo(this, upIntent);
}
}
设置结果代码:
public void onNavigationDrawerItemSelected(int position) {
Intent resultIntent = new Intent();
resultIntent.putExtra(SELECTED_POSITION, position);
setResult(RESULT_OK, resultIntent);
navigateUp();
}
什么问题?它适用于 4.4.x,不适用于 4.0.x。为什么?谢谢!
最佳答案
您忘记了方法onActivityResult
,因此您的代码必须如下所示:
Intent intent = new Intent(this, YourActivity.class);
startActivityForResult(intent, 1);
.
.
.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK){
//Do whatever you want
}
}
关于java - 从 Activity 返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25275898/