2017-06-12 5 views
0

フィールド「userGood」が「」で終わる「」のすべての結果を表示したいとします。 FirebaseListAdapterの次のコードを使用しています。FirebaseListAdapterでFirebaseのendAt()メソッドが機能しない

FirebaseListAdapter<User> firebaseSuccessfulTaskListAdapter = new FirebaseListAdapter<User>(
       this, User.class, 
       R.layout.item_user, 
       FirebaseDatabase.getInstance().getReference() 
         .child("users").orderByChild("userGood").endAt("true")){ 

     @Override 
     protected void populateView(View v, Task model, int position) { } 
}; 

データ構造:

{ 
    "users": { 
     "1": { 
      "name": "bob", 
      "userGood": "bob_true" 
     }, 
     "2": { 
      "name": "max", 
      "userGood": "max_false" 
     }, 
     "3": { 
      "name": "mike", 
      "userGood": "mike_true" 
     }, 
     "4": { 
      "name": "bob", 
      "userGood": "bob_false" 
     } 
     } 
    } 

私は私に私のデータベースを持つすべてのデータをこのコード、彼らディスプレイを使用しています。それを修正する方法を教えてもらえますか?ありがとう!

答えて

3

The functionENDAT、ないENDWITHです。あなたはアルファベット順に「真実」の前に来るものすべてを手に入れています。 Firebase APIは部分テキストマッチングをサポートしていません。 ElasticSearch/Flashlightのようなサードパーティのテキスト検索ソリューションを調べるか、組み込み関数を使用してクエリを実行できるようにデータモデルをリファクタリングします。たとえば、userGoodをブール値trueまたはfalseにすることができないのはなぜですか?

+0

これは良い答えです、ありがとう、トラビス! – Tomas

関連する問題