Использование SearchView для поиска в Firebase [duplicate]

FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("../view/Main.fxml")); 

в моем случае я просто удаляю ..

FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/view/Main.fxml")); 
0
задан Alex Mamo 4 June 2018 в 14:28
поделиться

1 ответ

Чтобы добиться того, чего вы хотите, вам нужно выполнить запрос, который должен выглядеть следующим образом:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = rootRef.child("users");
Query query = usersRef.orderByChild("name").equalTo(newText);

Поэтому каждый раз, когда вы создаете поиск, вы должны возвращать новый запрос. Поэтому в соответствии с этим каждый раз, когда вы хотите отфильтровать новое условие, вам необходимо:

  1. Создать новый запрос на основе нового фильтра:
    Query query = usersRef.orderByChild("name").equalTo(newText);
    
  2. Прикрепите слушателя к этому новому созданному запросу.
  3. Создайте новый адаптер с результатами этого нового созданного запроса или обновите существующий с помощью метода notifydatasetchanged().
1
ответ дан Alex Mamo 16 August 2018 в 01:22
поделиться
  • 1
    Итак, используя equalTo (), firebase дает список данных или один элемент, который равен newText? – parag pawar 4 June 2018 в 14:19
  • 2
    В зависимости от того, что возвращает запрос. Если он найдет одно имя пользователя, будет возвращено одно имя пользователя, иначе оно вернет столько, сколько он найдет. Если имя пользователя уникально, будет возвращен один пользователь с именем. – Alex Mamo 4 June 2018 в 14:21
Другие вопросы по тегам:

Похожие вопросы: