【发布时间】:2018-05-29 13:29:55
【问题描述】:
我正在尝试执行以下操作:
- 显示来自 Activity 的对话框片段(不是片段);
- 在 Activity 中检索结果。
问题是Activity中的onActivityResult没有被调用。
这是我展示 DialogFragment 的方式
DriverRatingDialogFragment dp = new DriverRatingDialogFragment();
// this solution works well in case of showing dialog from a fragment
// but I have to show it from the Activity
// dp.setTargetFragment(getSupportFragmentManager().findFragmentById(R.id.flContent), DriverRatingDialogFragment.REQUEST_CODE);
dp.show(getSupportFragmentManager(), DriverRatingDialogFragment.ARG_RATING);
这是我尝试从 DialogFragment 返回结果的方式:
Intent intent = new Intent();
// This solution works well in case of previously setting target Fragment,
// but I have to return result to Activity
// getTargetFragment().onActivityResult(
// getTargetRequestCode(), REQUEST_CODE, intent);
// and with this attempt App crashes
// this.onActivityResult(REQUEST_CODE, Activity.RESULT_OK, intent);
这是我想在 Activity 中检索结果的地方,但它没有被调用:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == DriverRatingDialogFragment.REQUEST_CODE) {
// todo
}
super.onActivityResult(requestCode, resultCode, data);
}
怎么了?
【问题讨论】:
标签: android