12

我有一个片段,它使用以下方法调用另一个活动:

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 不会被调用。如果是这种情况,我需要做什么才能让片段从被调用者 Activity 中获取结果?

4

1 回答 1

16

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

于 2013-09-22T10:49:10.390 回答