Адаптер Firebase Recycler Запрос к базе данных

Я пытаюсь получить определенные данные из базы данных Firebase в реальном времени. Я знаю, что сложные запросы к базе данных firebase невозможны.

Снимок образа базы данных

Вот снимок моей базы данных, я хочу сначала заказать мою базу данных со счетчиком, поэтому я использовал запрос .orderByChild(count) и передал его параметру Recycler. ОК, это нормально. Но теперь, кроме того, я хочу, чтобы данные отображались, если только если рекомендация = рекомендуется. то есть двойной запрос.

Я думаю, что мы не можем использовать двойной запрос в базе данных в реальном времени, поэтому я сделал следующее....

/*
condition =
  recyclerView = Linearlayout manager
  setQuery = orderbychild count
*/

  //actual logic for hiding non required data

        if (model.getRecommendation().equals("recommended")) {

            holder.recommendationLayout.setVisibility(View.VISIBLE);

        }
        else {

            holder.hideView.setVisibility(View.GONE);
            holder.hideView.getLayoutParams().height = 0;
            holder.hideView.getLayoutParams().width = 0;

            ViewGroup.MarginLayoutParams layoutParams =
            (ViewGroup.MarginLayoutParams) holder.hideView.getLayoutParams();
            layoutParams.setMargins(0, 0, 0, 0);

            holder.hideView.requestLayout();
       }

Раскладка товара отсортирована

Но когда я меняю менеджер компоновки на GridLayoutManager

Диспетчер компоновки сетки

К сожалению, он оставляет пробелы там, где тег продукта не рекомендуется.

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


person 50_Seconds _Of_Coding    schedule 26.06.2020    source источник


Ответы (1)


  1. Измените layout_width = wrap_content вашего корневого макета для вашего элемента списка.
  2. Передайте свой список массивов

Collections.sort(itemsLists);

Затем в классе модели добавьте метод compareTo... См. здесь: - https://howtodoinjava.com/sort/collections-sort/

person Sanjay Developer    schedule 26.06.2020