【发布时间】:2022-01-12 11:42:24
【问题描述】:
FirebaseFirestore.getInstance().collection("registration").addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot value, @Nullable FirebaseFirestoreException error) {
for(DocumentSnapshot d:value){
if(d.getId().equals(Name)){
Toast.makeText(MainActivity.this, "User Name already exists", Toast.LENGTH_SHORT).show();
break;
}
else{
is_userExists = false;
}
}
}
});
我想打破 foreach 循环,但代码运行不正常
【问题讨论】:
-
d.getId().equals(Name)retun 是什么意思? -
你得到这个祝酒词“用户名已经存在”了吗?如果不是,则没有与名称变量内容匹配的 ID
-
addSnapshotListener不会在你想要的时候执行……它会执行以“同步”你所有的 firebase 数据和你的手机,所以不要把你的吐司放在这里……在 foreach 中,只复制所有 @ 987654324@ 到一个列表中(它必须是一个属性)。并且每当您想检查名称的重复时,从该列表中读取数据不在addSnapshotListener
标签: java android firebase google-cloud-firestore