Die Aktualisierungsfunktion führt zu einem großen FehlerAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Die Aktualisierungsfunktion führt zu einem großen Fehler

Post by Anonymous »

Okay, also habe ich eine Funktion, um Suche und Filterung durchzuführen. Es funktioniert alles einwandfrei, bis auf diese eine Zeile am Ende, in der die Liste nach dem Filterung aktualisiert wird. Aber ich kann das nicht tun, da diese eine bestimmte Zeile verhindern, dass alle Elemente in der Recycler -Ansicht angezeigt werden. < /p>
Dies ist der Code und diese Zeile am Ende verursacht den Fehler:private void filterBikes() {
String searchedText = searchViewLocation.getQuery().toString().toLowerCase();
String selectedCategory = spinnerFilterCategory.getSelectedItem().toString();
String selectedSortPrice = spinnerSortPrice.getSelectedItem().toString();

` List filteredList = bikeList.stream()
.filter(p -> TextUtils.isEmpty(searchedText) || p.getName().toLowerCase().contains(searchedText))
.filter(p -> selectedCategory.equals("All bikes") || p.getCategory().equals(selectedCategory))
.collect(Collectors.toList());

if (selectedSortPrice.equals("Sort by price: Low - High")) {
filteredList.sort((p1, p2) -> Double.compare(p1.getPriceHour(), p2.getPriceHour()));
} else if (selectedSortPrice.equals("Sort by price: High - Low")) {
filteredList.sort((p1, p2) -> Double.compare(p2.getPriceHour(), p1.getPriceHour()));
}
adapter.updateList(filteredList); // this line
}
< /code>
Ich habe auch die Aktualisierungsmethode im Adapter erstellt, daher weiß ich nicht, was das Problem ist < /p>
public void updateList(List newList) {
bikeList = newList;
notifyDataSetChanged();
}
< /code>
Ich habe versucht, die Protokollierung durchzuführen, und es wird nur die Filterliste von Sauing beträgt. Die Fahrradgröße wird weitergegeben, ebenso wie die Anzahl der Artikel. Aber sobald ich versuche zu suchen oder zu filtern, funktioniert es nicht.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post