如何检查orderbychild值是否存在?
问题描述:
我通过搜索tlocation中保存在用户名下的主题来成功获取用户名。但是如果主题完全不存在于所有用户名下,那么我将如何检测主题是否存在于位置?如果您有任何想法,请分享给我,谢谢。如何检查orderbychild值是否存在?
这里是我的代码
tref.orderByChild("subject").equalTo(ssubject).
addValueEventListener(new ValueEventListener() {
//ssubject is user selected subject
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (final DataSnapshot u: dataSnapshot.getChildren()) {
if(u.child("subject").getValue().equals(ssubject)){
// do some code here
}else{
searchuserlist.setEmptyView(findViewById(R.id.stv));
}
答
这是如何验证,如果subject
存在:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference userRef = rootRef.child("tlocation").child("rexyou0831");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.child("subject").exists()) {
//do something
} else {
//do something else
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
userRef.addListenerForSingleValueEvent(eventListener);
我用rexyou0831
作为一个例子。您可以使用userName
变量代替rexyou0831
。
+0
它的工作原理。谢谢 –
请编辑您的问题并说清楚。 –
@ Supradip.M对不起。我也很困惑,详细解释。 –
根据我的理解,您有两个选择: - 将主题添加到您正在显示的列表中,以便仅显示当前主题。 - 其次,检查特定查询中的主题是否有值,否则返回null,并且可以从此处获取。 –