2017-09-27 6 views
0

위치에 사용자 이름 아래 저장된 제목을 검색하여 사용자 이름을 성공적으로 가져 왔습니다. 그러나 피사체가 모든 사용자 이름 아래에 존재하지 않는다면 피사체가 전위에 있는지 여부를 어떻게 감지 할 수 있을까요? 어떤 생각이라도 있으면 나에게 그것을 나눠주세요. 감사합니다.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 가지 옵션을 선택할 수 있습니다. - 표시중인 목록에 제목을 추가하면 현재 제목 만 표시됩니다. - 둘째, 특정 쿼리의 제목에 값이 있는지 확인하십시오. 그렇지 않으면 null이 반환되고 거기에서 가져올 수 있습니다. –

답변

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

그것은 작동합니다. 감사 –

관련 문제