Android:从片段调用时如何从活动中获取返回结果?
Posted
技术标签:
【中文标题】Android:从片段调用时如何从活动中获取返回结果?【英文标题】:Android: How to get return result from activity when calling from Fragment? 【发布时间】:2013-09-27 09:18:29 【问题描述】:我有一个 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();
我尝试在 Fragment 中使用以下内容
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
//Do something
但是,我猜测创建的意图传递了片段的父 Activity 的引用,因此片段上的 onActivityResult 不会被调用。 如果是这种情况,我需要怎么做才能让片段从被调用者 Activity 中获取结果?
【问题讨论】:
【参考方案1】:片段onActivityResult
将在主机活动onActivityResult
之后被调用,只要从主机活动中调用super.onActivityResult
。详情请见https://***.com/a/6147919/552902
【讨论】:
以上是关于Android:从片段调用时如何从活动中获取返回结果?的主要内容,如果未能解决你的问题,请参考以下文章