2017-09-28 8 views
0

イベントをユーザの一意のIDでクエリしようとしていますが、何も返されません。ここでは、クエリのための私のコードは次のとおりです。AndroidのFIrebase-値によるクエリが機能しません。

Query events = mDatabaseEvents.orderByValue().equalTo("user1"); 

、ここでは私のFirebaseデータベースの構造です:

events: { 
    -event1: { 
    1: user1, 
    2: user2, 
    3: user3, 
}, 
    -event2: { 
    1: user4, 
    2: user5, 
    3: user1, 
}, 

私は、データのハッシュマップによって設定されているので、それが動作していないと考えているので、「user1が」ではないかもしれません常に各イベントの同じ場所にあります。この問題を解決するにはどうすればよいですか?ありがとう

+0

:あなたがここに詳細情報を見ることができます

Query query = locationComment.orderByKey(); query.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { if (dataSnapshot.getValue() == null) { return; } data.clear(); for (DataSnapshot child : dataSnapshot.getChildren()) { ... } adapter.notifyDataSetChanged(); } 

:ここで私が思う少し変化があるだろう、「orderByKey」との例であります構造。 –

+0

あなたの現在のコードについては、Firebaseデータベースで実際に何もしません。単にクエリを定義するだけです。一致するアイテムをデータベースから取得するには、[リスナーを接続する](https://firebase.google.com/docs/database/android/lists-of-data#child-events)する必要があります。 –

答えて

0

実際にデータを取得するには、「addValueEventListener」を追加する必要があります。あなたがこれまでに試した、あなたのコードを共有し、あなたのfirebaseデータベースを投稿してくださいhttps://stackoverflow.com/a/42430304/5309996

+0

FirebaseRecyclerAdapterのクエリを使用しています。それをどうやってやりますか? – Spotz

関連する問題