防止单击按钮时关闭警报对话框

时间:2014-05-30 18:09:25

标签: android android-alertdialog

我已经在我的应用程序中使用Some EditText,Spinner重新定义了一个自定义警报对话框。我使用了警告对话框的默认负片和正片按钮。

我想首先验证点击肯定按钮上的数据,如果一切正常则关闭警报对话,否则保持警报并在吐司中显示错误消息。

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle(getString(R.string.dialog_title_add));
    builder.setView(dialoglayout);

builder.setPositiveButton(getString(android.R.string.ok),
            new OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
} });

1 个答案:

答案 0 :(得分:0)

我没有看到您设置内置的正面按钮,看起来您正在使用自定义视图。

使用将在自定义视图中单击的按钮,就像任何其他按钮一样 - 设置单击侦听器,并在onClick()方法中检查EditText输入是否正确。然后,使用your_alert.cancel()来关闭AlertDialog。

AlertDialog.Builder builder = new AlertDialog.Builder(this);
AlertDialog alert;
builder.setTitle(getString(R.string.dialog_title_add));
builder.setView(dialoglayout);
Button your_button = (Button) dialoglayout.findViewById(R.id.your_button);
            button.setOnClickListener(new OnClickListener() {
            @Override
                public void onClick(View v) {
                    if(edittext_false){ 
                      Toast.makeText(context, "Something wrong", Toast.LENGTH_LONG).show();
                    }else{
                      alert.dismiss();
                    }
                }
            }); 
alert = builder.create();
alert.show();