安卓的EditText验证像对话框

问题描述 投票:-3回答:2

当按钮被按压,并在对话框显示确认消息如下所示的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();
                        }
                       });

我怎样才能验证。

android android-edittext android-alertdialog
2个回答
2
投票

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

第一用于示出作为警报创建一个方法:

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();

}

作出检查字符串验证的方法:

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

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;
}
© www.soinside.com 2019 - 2024. All rights reserved.