2017-06-10 12 views
0

Firebase DBとFirebaseListAdapterを使用して、データの表示とフィルタリングを行っています。しかし、私のデータは、1つの値(idUser)のをフィルタリングしていますです。しかし、私は2つの値のためのデータをフィルタリングしたいidUser良い(idUser = 2とgood = trueのデータを表示)。
アンドロイドで試すことはできますか?FirebaseListAdapterで2つの値のデータをフィルタリングする方法は?

firebaseListAdapter = new FirebaseListAdapter<Movie>(this, Movie.class, 
       R.layout.item_movie, FirebaseDatabase.getInstance().getReference() 
       .child("movies") 
       .orderByChild("idUser") 
       .equalTo("2")) 

マイデータベース:

{ 
    "movies": { 
     "1": { 
      "name": "comedy", 
      "idUser": "2", 
      "good": "true" 
     }, 
     "2": { 
      "name": "Horror", 
      "idUser": "2", 
      "good": "false" 
     }, 
     "3": { 
      "name": "comedy", 
      "idUser": "2", 
      "good": "true" 
     } 
     } 
    } 
+0

はこの質問に私の答えを参照してください。フィルタリングする値を1つのプロパティに結合することができます。たとえば、私の答えを見てください:http://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in-firebase –

+0

@FrankvanPuffelen、ありがとう!私はそれが答えを見た!しかし、私が誤解されていなければ、それはJavaScriptの答えです。 – Tomas

+0

アプローチはどの技術でも同じです。 –

答えて

1

あなたは一度だけで順序を使用することができます。

答えはあなたのスキーマを変更することです。モハメドが言ったように、あなただけFirebaseデータベース内の1つの `orderBy`句を持つことができますmultiple properties

+0

新しいフィールド '' idUser_good = 2_true "を追加してこのフィールドの値を取得する必要があるということですか? – Tomas

+0

はい。 そのようにしてください。.orderByChild( "idUser_good") .equalTo( "2_true")) ' –

関連する問題