Wie verwendet man setError() in android TextInputLayout, so dass der jeweilige Fehler angezeigt wird?
Ich habe den Code unten geschrieben. Erstens, ich möchte Fehler von nur einer TextInputLayout
Ich arbeite mit. Zweitens, wird der Fehler für das Passwort nicht angezeigt, was kann ich tun, um das zu lösen?
public class DoctorSignUp extends AppCompatActivity implements View.OnClickListener {
TextView tvSubmit;
EditText etEmailId, etPassword, etCPassword, etMobile;
FirebaseAuth firebaseAuth;
TextInputLayout tilEmailId,tilPassword,tilCPassword,tilMobile;
ProgressDialog progressDialog;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_doctor_signup);
//initialize view controls
firebaseAuth = FirebaseAuth.getInstance();
progressDialog = new ProgressDialog(this);
etEmailId = (EditText) findViewById(R.id.etEmailId);
etPassword = (EditText) findViewById(R.id.etPassword);
etCPassword = (EditText) findViewById(R.id.etCPassword);
etMobile = (EditText) findViewById(R.id.etMobile);
tvSubmit = (TextView) findViewById(R.id.tvSubmit);
tilEmailId= (TextInputLayout) findViewById(R.id.tilEmailId);
tilPassword= (TextInputLayout) findViewById(R.id.tilPassword);
tilCPassword= (TextInputLayout) findViewById(R.id.tilCPassword);
tilMobile= (TextInputLayout) findViewById(R.id.tilMobile);
//event handling
tvSubmit.setOnClickListener(this);
etEmailId.addTextChangedListener(new MyTextWatcher(DoctorSignUp.this));
etPassword.addTextChangedListener(new MyTextWatcher(DoctorSignUp.this));
etCPassword.addTextChangedListener(new MyTextWatcher(DoctorSignUp.this));
etMobile.addTextChangedListener(new MyTextWatcher(DoctorSignUp.this));
}
@Override
public void onClick(View v) {
registerUser();
}
private void registerUser() {
String email = etEmailId.getText().toString();
String password = etPassword.getText().toString();
if (TextUtils.isEmpty(email)) {
Toast.makeText(getApplicationContext(), "Please enter email address", Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(password)) {
Toast.makeText(getApplicationContext(), "Please enter password", Toast.LENGTH_SHORT).show();
return;
}
progressDialog.setMessage("Registering User,Please wait..");
progressDialog.show();
firebaseAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Toast.makeText(getApplicationContext(), "Registration Successful", Toast.LENGTH_SHORT).show();
} else
{
Toast.makeText(getApplicationContext(), "Failed To Register The User", Toast.LENGTH_SHORT).show();
}
progressDialog.dismiss();
}
});
}
private class MyTextWatcher implements TextWatcher {
public MyTextWatcher(Context context) {
}
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
validateEmail();
validatePasswword();
validateConformPassword();
validateMobile();
}
private void validateConformPassword() {
String password = etPassword.getText().toString();
String cpassword=etCPassword.getText().toString();
if(!password.equals(cpassword)){
tilCPassword.setError("Please enter the same password again");
}
else
tilCPassword.setErrorEnabled(false);
}
private void validateMobile() {
String mobile = etMobile.getText().toString();
if(mobile.length()<10) {
tilMobile.setError("Enter a valid mobile no.");
}
else
tilMobile.setErrorEnabled(false);
}
private void validatePasswword() {
String password = etPassword.getText().toString();
if (password.length() <6){
tilPassword.setError("Password must be of 6 characters atleast");
}
else
tilPassword.setErrorEnabled(false);
}
private void validateEmail() {
String email = etEmailId.getText().toString();
if(!email.matches("[a-zA-Z0-9._-][email protected][a-z]+.[a-z]+")){
tilEmailId.setError("Please enter valid email id");
}
else
tilEmailId.setErrorEnabled(false);
}
}
}
Vielen Dank ... Ihre Antwort hat auch funktioniert .. –