Android的AlertDialog也会退出,当我点击确定按钮也会、当我、按钮、Android

2023-09-05 05:17:50 作者:我一直都在回忆里哭泣.

有没有一些方法在单击确定这样做验证。我不是解雇,但是当我点击确定它关闭。我写了使用一些文本编辑自定义AlertDialog。问题是我无法证实任何事情。如果验证失败,我想改变的消息,并告诉用户,而是它只是关闭。我使用AlertBuilder

  builder.setPositiveButton(DialogInterface.OnClickListener(){
               @覆盖
                公共无效的onClick(DialogInterface对话,诠释它){
                  //我不排除在这里。
                }

           }
 

解决方案

您可以通过覆盖onClickListener做到这一点。诀窍是让按钮后,创建和显示对话框。

  //创建对话框,你在这里,并显示它
...
dialog.show();

按钮positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
positiveButton.setOnClickListener(新OnClickListener(){
    @覆盖
    公共无效的onClick(查看的onClick){
        //有效的检查
        ...

        如果(有效){
            dialog.dismiss();
        } 其他 {
            //  无效
        }

    }
});
 
android自定义按钮弹出窗关闭按钮,Android使用自定义alertdialog实现确认退出按钮...

Is there some way to do validation upon clicking ok. Im not dismissing it but it closes when I click Ok. I have written a custom AlertDialog that uses some edit texts. Problem is I can't validate anything. If validation fails I want to change message and tell user but instead it just closes. I'm using AlertBuilder

        builder.setPositiveButton(DialogInterface.OnClickListener(){
               @Override
                public void onClick(DialogInterface dialog, int which) {
                  // I don't dismiss here.
                }

           }

解决方案

You can do this by overriding the onClickListener. The trick is to get the button after create and showing the dialog.

//  Create you dialog here and show it
...
dialog.show();

Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
positiveButton.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View onClick) {
        //  Valid checking
        ...

        if (valid) {
            dialog.dismiss();
        } else {
            //  Not valid
        }

    }
});