Ich möchte die Android Searchview-Funktion in einem listview-Fragment implementieren, das mit Daten aus einer Firebase-Datenbank gefüllt wird.Android-Suchansicht auf Firebase-Daten
-Code die Firebase Daten zu erhalten
mPOIAdapter = new FirebaseListAdapter<Poi>(
getActivity(),
Poi.class,
R.layout.item_layout_poi,
FirebaseDatabase.getInstance().getReference("poi").orderByChild("name")) {
@Override
protected void populateView(View v, Poi model, int position) {
TextView pointsText = (TextView) v.findViewById(R.id.poi_textview);
pointsText.setText(model.getName());
TextView pointDescr = (TextView) v.findViewById(R.id.poi_building);
pointDescr.setText(model.getDescription());
}
};
mPOIListView.setAdapter(mPOIAdapter);
Suche Code:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.options_menu,menu);
MenuItem item = menu.findItem(R.id.search);
item.setVisible(true);
SearchView searchView = (SearchView) item.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
}
ich Code wie diesen verwenden möchten, um die Listenansicht Elemente zu filtern basierend auf der Eingabe der Benutzer
searchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
getListAdapter().getFilter().filter(s);
return true;
}
});
Da der FirebaseListAdapter nicht die gleichen Möglichkeiten wie der ListAdapter bietet, kann ca nicht die getListAdapter().getFilter().filter(s)
Gibt es eine alternative Möglichkeit, die Suchfunktion in einem Listview-Fragment mit Firebase Daten
hii brent, i gleiche Problem haben. Hast du irgendeine Lösung gefunden? Wenn ja, bitte aktualisieren Sie Ihre Antwort hier. Vielen Dank im Voraus. –