Как отобразить содержимое RecyclerView
в приложении для Android в зависимости от количества лайков в публикации? Я знаю, как сортировать сообщения в порядке возрастания и убывания, но у меня возникла проблема с их сортировкой по количеству лайков в сообщении.
Как отсортировать данные в RecyclerView в Android по количеству лайков в публикации в Firebase?
Ответы (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
сэр, спасибо за ваш ответ, но, сэр, после подсчета лайков каждого поста, как отображать посты на основе большего количества лайков сначала и наименьшего количества лайков поста, наконец, в представлении переработчика.
- person Pots; 30.07.2018
Вы сказали, что я знаю, как сортировать сообщения в порядке возрастания и убывания, что вы уже пробовали? Вы пытались использовать
orderByChild("numberOfLikes")
?
- person Alex Mamo; 30.07.2018
Извините, сэр, я знаю, как отображать содержимое в обратном порядке, не по возрастанию, а по убыванию. Под восходящим и нисходящим я подразумевал прямой и обратный порядок данных из базы данных.
- person Pots; 30.07.2018
Взгляните на это.
- person Alex Mamo; 30.07.2018
Все ли в порядке, вы решили проблему?
- person Alex Mamo; 31.07.2018