Java 如果Android中的Edittext中存在错误,发送按钮将发送数据

Java 如果Android中的Edittext中存在错误,发送按钮将发送数据,java,android,regex,button,Java,Android,Regex,Button,我使用了两个编辑文本框,其中我对电子邮件和确认电子邮件地址的编辑文本框进行了验证。我使用了文本匹配器,验证对我来说很好。检查时没有问题。单击“发送”按钮时,在编辑文本中输入的数据将进入数据库中。如果有错误,以及如何进行验证按钮禁用当更正错误后任何文本框中出现错误时,必须部署输入数据库的数据,否则必须禁用按钮 我需要输入一些东西来阻止发送按钮 我已经在这里对edittext3和edittext4进行了验证,因此如果此按钮中有任何错误,则必须禁用我必须包含的位置 send.setEnabled(fa

我使用了两个编辑文本框,其中我对电子邮件和确认电子邮件地址的编辑文本框进行了验证。我使用了文本匹配器,验证对我来说很好。检查时没有问题。单击“发送”按钮时,在编辑文本中输入的数据将进入数据库中。如果有错误,以及如何进行验证按钮禁用当更正错误后任何文本框中出现错误时,必须部署输入数据库的数据,否则必须禁用按钮 我需要输入一些东西来阻止发送按钮

我已经在这里对edittext3和edittext4进行了验证,因此如果此按钮中有任何错误,则必须禁用我必须包含的位置

send.setEnabled(false);
send.setEnabled(true);
我必须在代码中包含上述方法

edittext3.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {

        }

        @Override
        public void afterTextChanged(Editable s) {

            Is_Valid_Email_Address(edittext3);
        }

        public void Is_Valid_Email_Address(EditText edittext3) {
            if (edittext3.getText().toString() == null) {
                edittext3.setError("Invalid Email Address");
                valid_email = null;
            } else if (isEmailValid(edittext3.getText().toString()) == false) {
                edittext3.setError("Invalid Email Address");
                valid_email = null;
            } else if(edittext3.length() == 0 || edittext3.equals("") || edittext3 == null || "".equals(edittext3.getText().toString())) {
                valid_email = null;
            }else {
                valid_email = edittext3.getText().toString();
            }
        }
    });

    edittext4.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {


        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {


        }

        @Override
        public void afterTextChanged(Editable s) {

            Is_Valid_Confirm_Address(edittext4);
        }


        public void Is_Valid_Confirm_Address(EditText edittext4) {
            if (edittext4.getText().toString() == null) {
                edittext4.setError("Invalid Email Address");
                valid_confirm = null;
            } else if (isEmailValid(edittext4.getText().toString()) == false) {
                edittext4.setError("Invalid Email Address");
                valid_confirm = null;
            } else if (edittext4.getText().toString().equals(edittext3.getText().toString())) {

                valid_confirm = edittext4.getText().toString();
            } else if(edittext4.length() == 0 || edittext4.equals("") || edittext4 == null || "".equals(edittext4.getText().toString())) {
                valid_confirm = null;
            } else {
                edittext4.setError("Confirm Email is Not Matching");
                valid_confirm = null;
            } 

        }
    });
//若有任何错误,那个么按钮必须变为禁用或启用,才能将其添加到数据库中

    Button send= (Button)findViewById(R.id.send_email);
    send.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

        String email = edittext3.getText().toString();
        String confirm = edittext4.getText().toString();


        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

            nameValuePairs.add(new BasicNameValuePair("email_address",email));
            nameValuePairs.add(new BasicNameValuePair("confirm_email_address",confirm));

            try
            {
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://192.168.1.132/Android_App/Sendata.php");
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost); 
                HttpEntity entity = response.getEntity();
                is = entity.getContent();

                Log.e("log_tag", "connection success ");
                Toast.makeText(getApplicationContext(), "contact you shortly.", Toast.LENGTH_LONG).show();
            }
            catch(Exception e)
            {
                Log.e("log_tag", "Error in http connection "+e.toString());
                Toast.makeText(getApplicationContext(), "Connection fail", Toast.LENGTH_SHORT).show();
            }
            try
            {
                BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
                StringBuilder sb = new StringBuilder();
                String line = null;
                while ((line = reader.readLine()) != null) 
                {
                        sb.append(line + "\n");
                        Intent i = new Intent(getBaseContext(),SecondActivity.class);
                        startActivity(i);
                }
                is.close();

                result=sb.toString();
            }
            catch(Exception e)
            {
               Log.e("log_tag", "Error converting result "+e.toString());
            }
            try
            {   
                    JSONObject json_data = new JSONObject(result);
                    CharSequence w= (CharSequence) json_data.get("result");

                    Toast.makeText(getApplicationContext(), w, Toast.LENGTH_SHORT).show();
            }
            catch(JSONException e)
            {
                    Log.e("log_tag", "Error parsing data "+e.toString());
                    Toast.makeText(getApplicationContext(), "JsonArray fail", Toast.LENGTH_SHORT).show();
            }

        }
    });
}

private boolean isEmailValid(String email) {
    return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
Button send=(Button)findviewbyd(R.id.send\u email);
send.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串email=edittext3.getText().toString();
String confirm=edittext4.getText().toString();
ArrayList nameValuePairs=新的ArrayList();
添加(新的BasicNameValuePair(“电子邮件地址”,email));
添加(新的BasicNameValuePair(“确认电子邮件地址”,确认));
尝试
{
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://192.168.1.132/Android_App/Sendata.php");
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
HttpResponse response=httpclient.execute(httppost);
HttpEntity=response.getEntity();
is=entity.getContent();
Log.e(“Log_标签”,“连接成功”);
Toast.makeText(getApplicationContext(),“请稍后与您联系”,Toast.LENGTH_LONG.show();
}
捕获(例外e)
{
e(“Log_标记”,“http连接错误”+e.toString());
Toast.makeText(getApplicationContext(),“连接失败”,Toast.LENGTH\u SHORT.show();
}
尝试
{
BufferedReader reader=新的BufferedReader(新的InputStreamReader(is,“iso-8859-1”),8;
StringBuilder sb=新的StringBuilder();
字符串行=null;
而((line=reader.readLine())!=null)
{
sb.追加(第+行“\n”);
Intent i=新的Intent(getBaseContext(),SecondActivity.class);
星触觉(i);
}
is.close();
结果=sb.toString();
}
捕获(例外e)
{
Log.e(“Log_标记”,“错误转换结果”+e.toString());
}
尝试
{   
JSONObject json_data=新的JSONObject(结果);
CharSequence w=(CharSequence)json_data.get(“结果”);
Toast.makeText(getApplicationContext(),w,Toast.LENGTH_SHORT).show();
}
捕获(JSONException e)
{
Log.e(“Log_标记”,“错误解析数据”+e.toString());
Toast.makeText(getApplicationContext(),“JsonArray失败”,Toast.LENGTH\u SHORT.show();
}
}
});
}
私有布尔值isEmailValid(字符串电子邮件){
返回android.util.Patterns.EMAIL_ADDRESS.matcher(EMAIL.matches();
}
有人知道吗请帮我提前谢谢

public void afterTextChanged(Editable s) {

        if(Is_Valid_Email_Address(edittext3.getText().toString())){
              send.setEnabled(true); 
        }else{
              send.setEnabled(false); 
        }
    }
也许试试这个?也将其应用于edittext4


试试这种方法。

如果将其更改为布尔值@newbeee\u Is Valid\u Email\u地址,我会收到一个错误