При нажатии на кнопку «Регистрация» отображается только «Регистрация ...».Ничего не происходит после - PullRequest
0 голосов
/ 16 октября 2018

Я просмотрел, но не могу найти решение.Пожалуйста, помогите мне в этом.Я искал в интернете, но ничего не смог получить.Я провидинд скриншоты приложения для улучшения.Я заполняю все поля и нажимаю кнопку «Регистрация», после нажатия кнопки «Регистрация» она показывает только «Регистрация», означает, что она застряла здесь, но не может найти никакого решения.Как я могу это исправить?Помоги мне в этом.Заранее спасибо Деятельность по регистрации Здесь все время застревает

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
        {

        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...