如果未选择任何选项,则不应关闭DialogPreference

Mac*_*rse 3 android

我有一个DialogPreference,我想在按"确定","取消"等时避免用户关闭它.

我该怎么办?

编辑:

我试图在创建对话框时到达"确定"按钮以禁用.但我无法做到:(

and*_*dev 8

解决方案非常简单.覆盖showDialog并设置您自己的单击侦听器到要拦截的按钮.

   @Override
    protected void showDialog(Bundle bundle) {
        super.showDialog(bundle);
        Button pos = ((AlertDialog) getDialog()).getButton(DialogInterface.BUTTON_POSITIVE);
        pos.setOnClickListener(...);
    }
Run Code Online (Sandbox Code Playgroud)

在您的点击监听器中,您可以进行所需的验证.

  • 这是我发现的最佳解决方案.这对于普通的AlertillaDialogs也很有用. (2认同)