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

use*_*013 10 android fragment android-activity

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

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

并从活动返回:

Intent resultIntent = new Intent();
setResult(Activity.RESULT_OK, resultIntent);
finish();
Run Code Online (Sandbox Code Playgroud)

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

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
    //Do something
}
Run Code Online (Sandbox Code Playgroud)

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

JRo*_*ero 14

只要从主机活动调用,onActivityResult就会在主机活动之后调用这些片段.有关更多详细信息,请参阅/sf/answers/430354361/onActivityResultsuper.onActivityResult