每当我在登录页面上单击注册按钮时,应用程序崩溃,并且不会继续进行下一个活动。我已经停留了一天,似乎无法在任何地方找到解决方案。
这是我为注册按钮方法编写的代码。(emailText
并且passwordText
是TextInputLayout)
public void signup(View view){
if(!validatePassword()|!validateEmail()){
return;
}
else{
ref = FirebaseDatabase.getInstance().getReference();
ref.child("users").child(emailText.getEditText().getText().toString()).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
emailText.setError("Username or Email already exists, pick another!");
} else {
mAuth.createUserWithEmailAndPassword(emailText.getEditText().getText().toString(), passwordText.getEditText().getText().toString())
.addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
FirebaseUser user = mAuth.getCurrentUser();
startActivity(intent);
} else {
Toast.makeText(MainActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
}
}
});
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
}); …
Run Code Online (Sandbox Code Playgroud)