Я довольно новичок в разработке приложений для Android. Я создал простой поисковый запрос, который выполняет поиск в моей базе данных Firebase по имени (см. Код ниже):
private void firebaseEventSearch(String name) {
//query to search database based on text in textbox - made case insensitive
Query eventSearchQuery = eventRef.orderByChild("name").startAt(name.toUpperCase()).endAt(name.toLowerCase() + "\uf8ff");
eventSearchQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot eventSnapshot : dataSnapshot.getChildren()) {
Event event = eventSnapshot.getValue(Event.class);
events.add(event);
}
adapter.notifyDataSetChanged();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
По большей части работает нормально, однако отображает все результаты базы данных, когда я набираю буквы "A" или "B" - поиск не работает для этих двух букв. Кроме того, если я введу строку поиска, где первая буква соответствует записи базы данных, он отобразит этот элемент базы данных, даже если остальная строка не соответствует ему.
Буду очень признателен, если кто-нибудь поможет мне понять, почему этот поисковый запрос не работает должным образом.