草庐IT

android - DialogFragment setCancelable 属性不起作用

coder 2023-05-07 原文

我在一个 android 应用程序中工作,并且正在使用 DialogFragment 来显示一个对话框,我想让该 DialogFragment 不可取消。我已将对话框可取消属性设置为 false,但仍然没有影响。

请查看我的代码并建议我一个解决方案。

public class DialogTest extends DialogFragment {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        return super.onCreateDialog(savedInstanceState);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.dialog_test, container, true);
        getDialog().requestWindowFeature(STYLE_NO_TITLE);
        getDialog().setCancelable(false);

        return view;
    }
 }

最佳答案

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.dialog_test, container, true);
    getDialog().requestWindowFeature(STYLE_NO_TITLE);
    getDialog().setCancelable(false);

    return view;
}

你必须直接使用 getDialog().setCancelable(false); 而不是 setCancelable(false);

所以更新后的答案会是这样的

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.dialog_test, container, true);
    getDialog().requestWindowFeature(STYLE_NO_TITLE);
    setCancelable(false);

    return view;
}

关于android - DialogFragment setCancelable 属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16480114/

有关android - DialogFragment setCancelable 属性不起作用的更多相关文章

随机推荐