在我的应用程序的一个部分中,我展示给用户一个ListView。当用户按下列表中的一个项目时,会显示一个DialogFragment
。
@Override
public void onClick() {
android.support.v4.app.FragmentTransaction ft = getFragment().getFragmentManager().beginTransaction();
ft.addToBackStack(null);
SingleSettingDialogFragment dialog = SingleSettingDialogFragment.newInstance(...);
dialog.show(ft, "Single");
}
DialogFragment 的结构如下:
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
super.onCreateDialog(savedInstanceSate);
AlertDialog dialog = new AlertDialog.Builder(...)
...
.create();
...
return dialog;
}
当用户退出DialogFragment时,我期望调用该Fragment的onResume()方法,但实际上并没有被调用。
那么为什么DialogFragment有这样的特殊性质?为什么当Dialog显示时,调用它的Fragment没有被暂停?如何实现呢?
我在文档中没有找到关于此行为的参考,如果有参考资料那就更好了。