2017-09-27 10 views
0

私は正常にtlocationのユーザー名の下に保存されている件名を検索して、ユーザー名を取得します。しかし、もし被験者がすべてのユーザ名の下に完全に存在しないなら、どのように被験者が転位に存在するかどうかを検出するだろうか?もしあなたが何か考えを持っているなら、それを私に分けてください。ありがとう。orderbychildの値を確認する方法はありますか?

は、ここではこれがsubjectが存在する場合は、確認することができる方法である

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)); 

     } 

ここにある私のデータベース構造 enter image description here

+0

質問を編集して明確にしてください。 –

+0

@ Supradip.M申し訳ありません。私はまた、詳細に説明するのが混乱します。 –

+0

私が理解したところから、次の2つの選択肢があります: - 現在の科目のみが表示されるように、あなたが表示しているリストに科目を追加します。 - 第二に、特定のクエリのサブジェクトが値を持っているかどうかをチェックするだけです。それ以外の場合はヌルを返し、そこから取得できます。 –

答えて

1

私のコードです:私は例としてrexyou0831を使用していた

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変数を使用できます。

+0

それは動作します。ありがとう –

関連する問題