Android:从Fragment调用时如何从活动中获取返回结果?

时间:2013-09-22 10:44:38

标签: android android-activity fragment

我有一个使用以下方法调用另一个Activity的片段:

ProductEditionMaintenanceActivity.class);
Bundle extras = new Bundle();
extras.putString("productCode", productCode);
extras.putInt("productEditionID", 0);
intent.putExtras(extras);
getActivity().startActivityForResult(intent, 1);

从活动中返回:

Intent resultIntent = new Intent();
setResult(Activity.RESULT_OK, resultIntent);
finish();

我尝试在片段中使用以下内容

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
    //Do something
}

但是,我猜测创建的意图传递了片段的父Activity的引用,因此片段上的onActivityResult不会被调用。 如果是这种情况,我需要做什么才能使片段从被调用者活动中获得结果?

1 个答案:

答案 0 :(得分:13)

只要从主机活动调用onActivityResult,就会在主机活动onActivityResult之后调用片段super.onActivityResult。有关详细信息,请参阅https://stackoverflow.com/a/6147919/552902