小编use*_*013的帖子

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

我有一个片段,使用以下方法调用另一个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不会被调用.如果是这种情况,我需要做什么才能使片段从被调用者活动中获得结果?

android fragment android-activity

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

android-activity ×1

fragment ×1