2017-07-29 3 views
1

, wie ich meine Firebase-Liste-Adapter zu aktualisieren, wenn ein Benutzer Daten filtern, indem Sie ein Dropdown-Menü .Das Menü enthält Zeichenfolge Wert, ist mein Code wie folgt:Update Firebase-Liste Adapter, wenn ein Benutzer Daten filtern, indem Sie ein Dropdown-Menü

FirebaseListAdapter<blood> adapter=new FirebaseListAdapter<blood>(this, blood.class, R.layout.blod,mref) { 

     @Override 
     protected void populateView(View v, blood model, int position) 
     { 
      final String pskey=getRef(position).getKey(); 
      TextView name_,groiup; 
      ImageView Pic; 
      groiup=(TextView)v.findViewById(R.id.bldgrp); 
      name_=(TextView)v.findViewById(R.id.name1); 
      Pic=(ImageView)v.findViewById(R.id.pic); 
      name_.setText(model.getName()); 
      groiup.setText(model.getBlodgrp()); 
} 
+0

Sie können die Abfrage eines FirebaseListAdapters nicht ändern, nachdem es erstellt wurde. Sie müssen einen neuen Adapter erstellen und diesen an die Ansicht binden. Siehe https://stackoverflow.com/questions/40919636/how-to-update-a-firebaserecycleradapters-query/40923600#40923600 –

+0

@FrankvanPuffelen, wie man an neuen Adapter bindet, wie ich Firebase-Liste Adapter verwende.Das Firebase-Team sollte integrieren der Offline-Filter oder der Suchmechanismus zum Firebase-Listenadapter. Andernfalls gibt es keine Möglichkeit, ihn zu verwenden. – Pritz10

Antwort

0

Sobald ein FirebaseListAdapter erstellt wurde, kann sie nicht mehr geändert werden, da alle Anfragen in Firebase immutable sind.

Da die in FirebaseUI vorhandenen Adapter tatsächlich die Datenstruktur selbst darstellen, haben Firebase-Ersteller keine Option hinzugefügt, mit der Sie die Abfrage für einen bestimmten Adapter ändern können.

Beachten Sie, dass beim Erstellen einer neuen Abfrage auch ein neuer Adapter erstellt wird. Um das Problem in Ihrem Fall zu lösen, müssen Sie lediglich einen neuen Adapter erstellen.

Ich hoffe, es hilft.

Verwandte Themen