我正在创建一个应用,其中我试图通过匹配用户的指定和验证状态来获取用户列表。如果验证状态为0,那么它将什么也没有,但是如果数据库中的验证状态为1(并且也具有匹配的名称),则它必须在列表中获取该用户。我试图通过匹配用户的指定来获取列表,它可以正常工作,但是当我尝试匹配其验证状态时,应用程序将崩溃。
我的代码获取列表。
$ docker run -p 8080:8080 --net test-netw shortenurl
}
在onDataChange
内部,dataSnapshot没有直接VerificationStatus
的子对象。这就是它导致异常的原因。
实际上dataSnapshot
包含用户对象列表。因此,首先您必须从中解析用户,然后对用户对象进行操作。
尝试使用orderByChild("VerificationStatus").equalTo("1")
仅获得经过验证的用户。
mUsersDatabaseReference.orderByChild("VerificationStatus").equalTo("1").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot child: dataSnapshot.getChildren()) {
Users user = child.getValue(Users.class);
if(user.getDesignation().equalsIgnoreCase("ADVOCATE")) {
//Do your operation here
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
SweetToast.error(AdvTalkActivity.this,"Unknown Error...");
}
});