Java 无法解析方法';addOnClickListener&\x27;

Java 无法解析方法';addOnClickListener&\x27;,java,android,firebase,firebase-authentication,Java,Android,Firebase,Firebase Authentication,无法解析方法“addOnCompletionListener”(com.myAppliction.signup,匿名com.google.android.gms.tasks.OnCompletionListener) 我试图在firebase中添加用户,但此错误不断出现 Map<String, Object> user = new HashMap<>(); user.put("Username", username); user.put("Password", passw

无法解析方法“addOnCompletionListener”(com.myAppliction.signup,匿名com.google.android.gms.tasks.OnCompletionListener)

我试图在firebase中添加用户,但此错误不断出现

Map<String, Object> user = new HashMap<>();
user.put("Username", username);
user.put("Password", password);
user.put("email", email);
db.collection("users").add(user).addOnCompleteListener(signup.this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    Log.d("signUpSuccessful", "createUserWithEmail:onComplete:" + task.isSuccessful());
                    if (!task.isSuccessful()) {
                        FirebaseAuthException e = (FirebaseAuthException )task.getException();
                        Toast.makeText(signup.this, "Failed Registration: "+e.getMessage(), Toast.LENGTH_SHORT).show();
                        return;                    
                        }

                    // ...
                 }
});
Map user=newhashmap();
user.put(“用户名”,用户名);
user.put(“密码”,Password);
user.put(“email”,email);
db.collection(“users”).add(user).addOnCompleteListener(signup.this,new OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
Log.d(“signUpSuccessful”,“createUserWithEmail:onComplete:”+task.isSuccessful());
如果(!task.issusccessful()){
FirebaseAuthException e=(FirebaseAuthException)任务。getException();
Toast.makeText(signup.this,“注册失败:+e.getMessage(),Toast.LENGTH_SHORT).show();
返回;
}
// ...
}
});

尝试将其移动到视图的onCreateView中。在编写匿名类时会发生此错误。
请将图像链接放在正确的位置,如果可能,请共享signup.java的代码,因为addOncompletelistner内部没有问题。代码中的问题是,您正在添加类型为
AuthResult
的完整侦听器,而不是
DocumentReference
。您添加的侦听器在对用户进行身份验证时使用,在将其添加到数据库时不使用。因此,下面的代码将与技巧相关联:

db.collection("users").add(user).addOnCompleteListener(new OnCompleteListener<DocumentReference>() {
    @Override
    public void onComplete(@NonNull Task<DocumentReference> task) {
        if (task.isSuccessful()) {
            //User successfully added
            Toast.makeText(signup.this, "Failed Registration: "+e.getMessage(), Toast.LENGTH_SHORT).show();
        }
    }
});
db.collection(“用户”).add(用户).addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
//用户已成功添加
Toast.makeText(signup.this,“注册失败:+e.getMessage(),Toast.LENGTH_SHORT).show();
}
}
});

你好,帕万!我能帮你了解其他信息吗?如果你认为我的答案对你有帮助,请考虑通过点击复选来接受它。✔️) 在投票箭头的左边。应该换成绿色。我真的很感激。谢谢!