代码之家  ›  专栏  ›  技术社区  ›  user1506104

隐藏AlertDialog的“确定”和“取消”按钮

  •  0
  • user1506104  · 技术社区  · 6 年前

    我想从警报对话框中隐藏按钮。我发现 this 解决方案,但它只是禁用按钮。

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        ...
        AlertDialog dialog = builder.create();
        Button button = dialog.getButton(Dialog.BUTTON_POSITIVE);
        button.setEnabled(false);
    
        return dialog;
    }
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   user1506104    6 年前

    您必须将按钮的可见性设置为“消失”,而不是使用 setEnabled() . 另外,你必须在 onStart() 像这样的对话:

    @Override
    public void onStart() {
        super.onStart();
    
        AlertDialog d = (AlertDialog) getDialog();
        if (d != null) {
            Button positiveButton = d.getButton(Dialog.BUTTON_POSITIVE);
            Button negativeButton = d.getButton(Dialog.BUTTON_NEGATIVE);
            positiveButton.setVisibility(View.GONE);
            negativeButton.setVisibility(View.GONE);
        }
    }