Как отсортировать данные в RecyclerView в Android по количеству лайков в публикации в Firebase?

Структура базы данных

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


person Pots    schedule 30.07.2018    source источник


Ответы (1)


Я знаю, как сортировать сообщения по возрастанию и убыванию

Тогда заказать по количеству лайков будет очень просто. Чтобы решить эту проблему, вы должны добавить новое свойство к вашему объекту публикации с именем numberOfLikes и увеличивать его значение каждый раз, когда вы получаете новый лайк. Чтобы получить количество лайков, прикрепите прослушиватель к ссылке postId и используйте метод getChildrenCount() для вашего объекта DataSnapshot следующим образом:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference postIdRef = rootRef.child("Likes").child(postId);
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        long numberOfLikes = dataSnapshot.getChildrenCount();
        Log.d("TAG", String.valueOf(numberOfLikes));
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
postIdRef.addListenerForSingleValueEvent(valueEventListener);
person Alex Mamo    schedule 30.07.2018
comment
сэр, спасибо за ваш ответ, но, сэр, после подсчета лайков каждого поста, как отображать посты на основе большего количества лайков сначала и наименьшего количества лайков поста, наконец, в представлении переработчика. - person Pots; 30.07.2018
comment
Вы сказали, что я знаю, как сортировать сообщения в порядке возрастания и убывания, что вы уже пробовали? Вы пытались использовать orderByChild("numberOfLikes")? - person Alex Mamo; 30.07.2018
comment
Извините, сэр, я знаю, как отображать содержимое в обратном порядке, не по возрастанию, а по убыванию. Под восходящим и нисходящим я подразумевал прямой и обратный порядок данных из базы данных. - person Pots; 30.07.2018
comment
Взгляните на это. - person Alex Mamo; 30.07.2018
comment
Все ли в порядке, вы решили проблему? - person Alex Mamo; 31.07.2018