Аутентификация пользователей по электронной почте и паролю с помощью Firebase - PullRequest
0 голосов
/ 26 мая 2020
• 1000 .addOnCompleteListener ...

Когда я создаю абстрактный внутренний класс для onCompleteListener, он компилируется, но onClick не запускается, потому что при нажатии кнопки регистрации ничего не происходит, даже сообщение об ошибке. Я определил Toast.makeText(SignUpActivity.this, "Error !" + task.getException().getMessage(), Toast.LENGTH_SHORT).show();, ничего не происходит: нет звука щелчка, который я слышал бы при нажатии ontextview, чтобы переключиться на экран входа в систему, или в текстовом режиме, чтобы переключиться обратно на страницу регистрации. Событие не запускается.

Что я делаю не так Я прочитал всю документацию, которую смог найти ...

import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.text.method.LinkMovementMethod;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import com.bluribbon.dutchclone.ui.login.LoginActivity;
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;

public class SignUpActivity extends AppCompatActivity {
    private static final String TAG = "EmailPassword";
    private EditText userName, userPhone, userEmail, userPassword, userPasswordConfirm, userCity;
    private Button regButton;
    private TextView userLogin;
    private CheckBox checkBox;
    private FirebaseAuth mAuth;
    private ProgressBar progressBar;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_signup);

        userName = findViewById(R.id.fullName);
        userCity = findViewById(R.id.city);
        userPhone = findViewById(R.id.phone);
        userEmail = findViewById(R.id.emailin);
        userPassword = findViewById(R.id.passwordin);
        userPasswordConfirm = findViewById(R.id.passwordconfirm);
        checkBox = findViewById(R.id.checkBox);
        regButton = findViewById(R.id.Register);
        userLogin = findViewById(R.id.SignIn);
        progressBar = findViewById(R.id.progressBar);

        mAuth = FirebaseAuth.getInstance();

        TextView login = findViewById(R.id.SignIn);
        login.setMovementMethod(LinkMovementMethod.getInstance());
        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(SignUpActivity.this, LoginActivity.class);
                startActivity(intent);
            }
        });

        regButton = findViewById(R.id.Register);
        regButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                regButton.setVisibility(View.GONE);
                progressBar.setVisibility(View.VISIBLE);
                String email = userEmail.getText().toString();
                String password = userPassword.getText().toString();
                String passwordConfirm = userPasswordConfirm.getText().toString();
                String name = userName.getText().toString();
                String city = userCity.getText().toString();
                String phone = userPhone.getText().toString();

                if (mAuth.getCurrentUser() !=null){
                    startActivity(new Intent(getApplicationContext(), MainActivity.class));
                    finish();
                }


                if (TextUtils.isEmpty(email)){
                    userEmail.setError("Email is Required");
                    return;
                }
                if (TextUtils.isEmpty(password)){
                    userPassword.setError("Password is Required");
                    return;
                }
                if (TextUtils.isEmpty(passwordConfirm)){
                    userPasswordConfirm.setError("Please Confirm Password");
                    return;
                }
                if (TextUtils.isEmpty(name)){
                    userName.setError("Name is Required");
                    return;
                }
                if (TextUtils.isEmpty(city)){
                    userCity.setError("City is Required");
                    return;
                }
                if (TextUtils.isEmpty(phone)){
                    userPhone.setError("Phone is Required");
                    return;
                }
                regButton.setVisibility(View.VISIBLE);
                progressBar.setVisibility(View.VISIBLE);

                mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(this, new onCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()){
                            Toast.makeText(SignUpActivity.this, "Your Dutch Profile Has been Created", Toast.LENGTH_SHORT).show();
                            startActivity(new Intent(getApplicationContext(), MainActivity.class));
                            progressBar.setVisibility(View.GONE);
                        }
                        else {
                            Toast.makeText(SignUpActivity.this, "Error !" + task.getException().getMessage(), Toast.LENGTH_SHORT).show();
                        }

                    }
                });

            }
        });

    }

}

1 Ответ

0 голосов
/ 26 мая 2020

добавить addonSuccessListener вместо onComplete

...