我使用了两个编辑文本框,我已经对电子邮件的编辑文本框和确认电子邮件地址进行了验证。我使用了文本匹配器,验证对我来说很好。当我检查时没有问题。当我单击发送按钮时,在编辑文本中输入的数据将进入数据库更正错误后,任何文本框中都有错误,必须部署输入数据库的数据,否则必须禁用该按钮我需要输入一些东西来阻止发送按钮
我已经在这里对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();
}
有人知道吗?请提前帮我谢谢
public void afterTextChanged(Editable s) {
if(Is_Valid_Email_Address(edittext3.getText().toString())){
send.setEnabled(true);
}else{
send.setEnabled(false);
}
}
也许试试这个?也将其应用于edittext4。
试试这个方法。