【问题标题】:How to disable positive button in onClick Function如何在 onClick 函数中禁用正按钮
【发布时间】:2022-01-11 01:48:38
【问题描述】:

当输入字段之一为空时,我想禁用肯定按钮。 我尝试使用((AlertDialog)dialogInterface).getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false); 但它不起作用。

new AlertDialog.Builder(MainActivity.this)
                    .setView(viewInput)
                    .setTitle("Add task")
                    .setPositiveButton("Save", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            String title = edtTitle.getText().toString();
                            String des = edtDes.getText().toString();
                            String date = edtDate.getText().toString();
                            String time = edtTime.getText().toString();

                            if(isEmpty(title) || isEmpty(des) || isEmpty(date) || isEmpty(time)){
                                ((AlertDialog)dialogInterface).getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
                                Toast.makeText(MainActivity.this,"Please, enter all fields.",Toast.LENGTH_SHORT).show();
                            }else{
                                Task task = new Task(title, des, date, time);

                                boolean isInserted = new TaskHandler(MainActivity.this).create(task);

                                if(isInserted){
                                    Toast.makeText(MainActivity.this,"Task Saved",Toast.LENGTH_SHORT).show();
                                    loadTasks();
                                }else{
                                    Toast.makeText(MainActivity.this,"Unable to save",Toast.LENGTH_SHORT).show();

                                }
                                dialogInterface.cancel();
                            }
                        }
                    }).show();

【问题讨论】:

    标签: java android-studio android-alertdialog


    【解决方案1】:

    在 DialogInterface.OnClickListener 之后禁用肯定按钮。这意味着您的肯定按钮已经在您的 AlertDialog 上设置... 根据您的需要,您必须在显示对话框之前禁用肯定按钮...

    检查此链接...

    Reference

    【讨论】:

      猜你喜欢
      • 2013-02-09
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      • 2011-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多