2017-07-14 15 views
0

私は、複数のイベントがあるFirebaseプロジェクトを持っています。AndroidでFirebaseの子供を取得する方法は、ArrayListに記載されていますか? [Android]

list of events

そして、私は

お気に入りのように好きなイベントのリストがあります:[2017071227185209、2017071271534874、2017072819680542、2017073111392921]

今私の方法を取得する唯一のこれらのイベントは、

Query userRef = mDatabase.child("Events"); 
userRef.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 

       for(DataSnapshot snapshot : dataSnapshot.getChildren()) 
       { 

      if(Favourites.contains(snapshot.getValue().toString)) 
       { 
        //The event is favourite, get data here 
       } 
       } 


     } 
です

ファイヤーベースリサイクラービューでデータを取得するにはどうすればよいですか?私が知っている唯一の方法は、すべてのフィルタリングを行う適切なクエリを置くことです。このための適切なクエリはありますか?

答えて

0

次のように試してみてください。

List<Event> eventList = new ArrayList<>(); 

for (DataSnapshot data : dataSnapshot.getChildren()) { 
    Event event = data.getValue(Event.class); 
    if (event.isFavorite()){ // or change your logic here 
     eventList.add(event); 
    } 
} 
+0

これを行うには、Firebaseリサイクラビューを破棄して自分自身を作成する必要があります。あなたのソリューションをありがとう – anon

0

を私はあなたがこの方法を使用してrecomand:

void checkIfEventExists(String event) { 
    Query userRef = mDatabase.child("Events"); 
    userRef.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      if(dataSnapshot.child(event).exists()) { 
       //get event data 
      } 
     } 
    } 
} 

はそれがお役に立てば幸いです。

関連する問題