在onCreateDialog()上销毁DialogFragment

时间:2013-07-24 06:47:40

标签: android android-dialogfragment

我有一个初始化Google plus视图的对话框片段,有时候这些视图会失败,所以我想在该对话框显示给用户之前将其删除。

如何结束对话框创建过程?从返回Dialog对象的onCreateDialog返回null会破坏程序。

2 个答案:

答案 0 :(得分:4)

如果你想在onCreateDialog中解雇DialogFragment,你可以执行以下操作:

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    setShowsDialog(false);
    dismiss();
    return null;
}

无需覆盖onActivityCreated()。

答案 1 :(得分:3)

使用在onActivityCreated()之后调用的OnCreateDialog() Fragment回调来解决它。我从onCreateDialog()返回一个有效的对话框,但用dismiss标记该对话框应该被解除。

public void onActivityCreated (Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    if(dismiss) {
        this.dismiss();
    }
}