如何仅在对话框中仅显示一次不正确的值

时间:2017-02-18 09:04:09

标签: android

enter image description here

enter image description here

我正在使用edittext中的用户输入。现在我想在另一个文本框中显示所需的输出,但是如果用户输入错误的值,则应打开一个对话框,提示所有不正确的值...框一次又一次打开,直到它检测到所有不正确的值。例如 - 如果我在编辑框中添加三个错误的值,则打开框3次。

   String s=editText1.getText().toString();
    String z[]=s.split("\\s");
    editText2.setText("");
    String a = "";
    String b = " Not valid";

    for(int i=0;i<z.length;i++)
    {
        int j=Integer.parseInt(z[i]);

        if(j>=65 && j<=97)
        {
            editText2.setText(editText2.getText() + "" + String.valueOf((char) j));
        }
        else {
            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);

                a += z[i]+"\t";

            alertDialogBuilder.setTitle("Error");
            alertDialogBuilder.setCancelable(false);
            alertDialogBuilder.setMessage(a+b)
                    .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();
                        }
                    });

            AlertDialog alertDialog = alertDialogBuilder.create();
            alertDialog.show();
        } 

1 个答案:

答案 0 :(得分:1)

    boolean is_open_dialog=false;

    for(int i=0;i<z.length;i++)
    {
        int j=Integer.parseInt(z[i]);

        if(j>=65 && j<=97)
        {
            editText2.setText(editText2.getText() + "" + String.valueOf((char) j));
        }
        else {

            is_open_dialog = true;
            a += z[i]+"\t";

        }
    }

    if(is_open_dialog){


        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
        alertDialogBuilder.setTitle("Error");
        alertDialogBuilder.setCancelable(false);
        alertDialogBuilder.setMessage(a+b)
                .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        dialog.cancel();
                    }
                });

        AlertDialog alertDialog = alertDialogBuilder.create();
        alertDialog.show();

    }
相关问题