Я просмотрел, но не могу найти решение.Пожалуйста, помогите мне в этом.Я искал в интернете, но ничего не смог получить.Я провидинд скриншоты приложения для улучшения.Я заполняю все поля и нажимаю кнопку «Регистрация», после нажатия кнопки «Регистрация» она показывает только «Регистрация», означает, что она застряла здесь, но не может найти никакого решения.Как я могу это исправить?Помоги мне в этом.Заранее спасибо Деятельность по регистрации Здесь все время застревает
MainLogic:
package com.example.coder.thecompleteeduhub;
import android.app.ProgressDialog;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.design.widget.TextInputEditText;
import android.support.design.widget.TextInputLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Patterns;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.FirebaseDatabase;
import java.util.regex.Pattern;
public class RegistrationActivity extends AppCompatActivity {
private TextInputLayout textInputFirstName, textInputLastName,textInputEmail,textInputPhone,textInputPassword,textInputConfirmPassword;
private RadioGroup rdrGroup;
private RadioButton rdrMale,rdrFemale;
private Button btnRegister;
private TextView tvLinkToLogin;
private FirebaseAuth firebaseAuth;
private ProgressDialog progressDialog;
private static final Pattern PASSWORD_PATTERN =
Pattern.compile
("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\\S+$).{6,15}$");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registration);
firebaseAuth=FirebaseAuth.getInstance();
progressDialog=new ProgressDialog(this);
progressDialog.hide();
textInputFirstName=findViewById(R.id.textInputLayoutFirstName);
textInputLastName=findViewById(R.id.textInputLayoutLastName);
textInputEmail=findViewById(R.id.textInputLayoutEmail);
textInputPhone=findViewById(R.id.textInputLayoutPhone);
textInputPassword=findViewById(R.id.textInputLayoutPassword);
textInputConfirmPassword=findViewById(R.id.textInputLayoutConfirmPassword);
btnRegister=findViewById(R.id.btnRegister);
tvLinkToLogin=findViewById(R.id.tvRegisteredLink);
rdrGroup=findViewById(R.id.rdrGroupGender);
rdrMale=findViewById(R.id.rdrMale);
rdrFemale=findViewById(R.id.rdrFemale);
tvLinkToLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(RegistrationActivity.this,LoginActivity.class);
startActivity(intent);
finish();
}
});
btnRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Register();
}
});
}
private boolean ValidateEmail()
{
String emailInput=textInputEmail.getEditText().getText().toString().trim();
if (emailInput.isEmpty())
{
textInputEmail.setError("Email Required !");
return false;
}
else if (!Patterns.EMAIL_ADDRESS.matcher(emailInput).matches())
{
textInputEmail.setError("Invalid Email Address !");
return false;
}
else
{
textInputEmail.setErrorEnabled(false);
textInputEmail.setError(null);
return true;
}
}
private boolean validatePassword()
{
String passwordInput=textInputPassword.getEditText().getText().toString().trim();
if (passwordInput.isEmpty())
{
textInputPassword.setError("Enter Password !");
return false;
}
else if (!PASSWORD_PATTERN.matcher(passwordInput).matches())
{
textInputPassword.setError("Minimum 8 length character including Capital letters, Small Letters, Special Characters and Number");
return false;
}
else
{
textInputPassword.setError(null);
textInputPassword.setErrorEnabled(false);
return true;
}
}
private boolean validdateConfrmPassword()
{
String conformPasswordInput=textInputConfirmPassword.getEditText().getText().toString().trim();
String passwordInput=textInputPassword.getEditText().getText().toString().trim();
if (!conformPasswordInput.equals(passwordInput))
{
textInputConfirmPassword.setError("Password not matched !");
return false;
}
else
{
textInputConfirmPassword.setErrorEnabled(false);
textInputConfirmPassword.setError(null);
return true;
}
}
private boolean validateFirstName()
{
String firstnameInput=textInputFirstName.getEditText().getText().toString().trim();
if (firstnameInput.isEmpty())
{
textInputFirstName.setError("Enter first name !");
return false;
}
else
{
textInputFirstName.setError(null);
textInputFirstName.setErrorEnabled(false);
return true;
}
}
private boolean validateLastname()
{
String lastnameInput=textInputLastName.getEditText().getText().toString().trim();
if (lastnameInput.isEmpty())
{
textInputLastName.setError("Enter last name !");
return false;
}
else
{
textInputLastName.setError(null);
textInputLastName.setErrorEnabled(false);
return true;
}
}
private boolean validateGender()
{
if (rdrMale.isChecked() || rdrFemale.isChecked())
{
return true;
}
else
{
Toast.makeText(RegistrationActivity.this,"Please select your gender",Toast.LENGTH_SHORT).show();
return false;
}
}
private void Register()
{
btnRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
validatePassword();
ValidateEmail();
validdateConfrmPassword();
validateFirstName();
validateLastname();
if (validateFirstName()==true && validateLastname()==true && validdateConfrmPassword()==true && validatePassword()
&& validateGender()==true && ValidateEmail()==true)
{
progressDialog.setMessage("Registering..");
progressDialog.show();
final String firstName=textInputFirstName.getEditText().getText().toString().trim();
final String lastName=textInputLastName.getEditText().getText().toString().trim();
final String gender;
if (rdrMale.isChecked())
{
gender=rdrMale.getText().toString();
}
else
{
gender=rdrFemale.getText().toString();
}
final String email=textInputEmail.getEditText().getText().toString().trim();
final String phone=textInputPhone.getEditText().getText().toString().trim();
String password=textInputPassword.getEditText().getText().toString().trim();
firebaseAuth.createUserWithEmailAndPassword(email,password)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
progressDialog.setMessage("Registering..");
progressDialog.show();
progressDialog.setCancelable(false);
if (task.isSuccessful())
{
User user=new User(
firstName,
lastName,
email,
phone,
gender
);
FirebaseDatabase.getInstance().getReference("TCEH_Users")
.child(FirebaseAuth.getInstance().getCurrentUser().getUid())
.setValue(user).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task)
{
progressDialog.hide();
if (task.isSuccessful())
{
Toast.makeText(RegistrationActivity.this,"You are registered successfully",Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(RegistrationActivity.this,"Something went wrong. Please try again",Toast.LENGTH_LONG).show();
}
}
});
}
else
{
}
}
});
}
else
{
Toast.makeText(RegistrationActivity.this,"Make fields correct first !",Toast.LENGTH_LONG).show();
}
}
});
}
@Override
protected void onStart() {
super.onStart();
if (firebaseAuth.getCurrentUser()!=null)
{
startActivity(new Intent(RegistrationActivity.this,HomeActivity.class));
}
else
{
}
}
}