Android edittext验证就像对话框一样

时间:2012-12-18 10:25:50

标签: android android-edittext android-alertdialog

按下按钮时的Android输入验证,并在对话框中显示验证消息,如下所示。

Codename is required
Password is required
USername is required.
Enter the valid Email id.

Dismiss

这是我的代码:

 btninsert = (Button)findViewById(R.id.new_customer);
    btninsert.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            EditText Firstname = (EditText) findViewById(R.id.tf_userName);
            EditText Lastname = (EditText) findViewById(R.id.tf_password);
            EditText Baddress = (EditText) findViewById(R.id.tf_address);
             if(Firstname.getText().toString().length() == 0 )
                Firstname.setError( "Firstname is required!" );
            else if(Lastname.getText().toString().length() == 0 )
                Lastname.setError( "Lastname is required!" );
             else if(Baddress.getText().toString().length() == 0 )
                Baddress.setError( "Address is required!" );
                else
                         insertValues();
                        }
                       });

我如何验证。

2 个答案:

答案 0 :(得分:1)

在对话框中更改EditText显示验证消息的输入验证的当前代码:

首先创建一个将Alert显示为:

的方法
public void showAlertbox(String erroMessage){
AlertDialog alertDialog = new AlertDialog.Builder(
                YOur_Current_Activity.this).create();

      // Setting Dialog Title
   alertDialog.setTitle("Error Message");

    // Setting Dialog Message
     alertDialog.setMessage(erroMessage);


     // Setting OK Button
     alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int which) {
                // Write your code here to execute after dialog closed

       }
        });

  // Showing Alert Message
 alertDialog.show();

}

创建一个方法来检查String上的验证:

public static boolean notEmpty(String s) {
 return (s != null && s.length() > 0);
}

点击按钮时调用此方法:

btninsert.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {

     if(notEmpty(Firstname.getText().toString())){
          if(notEmpty(Lastname.getText().toString())){
               if(notEmpty(Baddress.getText().toString())){

                    // instert here
                    insertValues();
                }else{
                    showAlertbox("Baddress Name Empty!!"); 

            }else{
              showAlertbox("Lastname Name Empty!!");
            }
       }
     else{
         showAlertbox("First Name Empty!!");
       }

   }
//...your code here

答案 1 :(得分:0)

我们可以在如下对话框中进行edittext验证。根据您的要求确定范围。

private  EditText name;
private  boolean  valid = false;

public void showDialog() {

    final Dialog dialog= new Dialog(Activity.this);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.custom_dialog);
    name= (EditText) dialog.findViewById(R.id.et_name);
    Button btnSubmit = (Button) dialog.findViewById(R.id.btn_submit);
    Button btnCancel = (Button) dialog.findViewById(R.id.btn_cancel);

    btnSubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            //validate the edit text
            if(validateName()) {
                     // add your code here
                dialog.cancel();
            }
        }
    });
}

private boolean validateName() {
    valid = true;

    if(name.getText().toString().isEmpty()){
        valid =false;
        name.setError("is empty");
     }  
    return valid;
}