Я пытаюсь отсортировать список Объектов (называемых Напоминанием), которые отображаются в виде утилиты в моем приложении для Android. Я использую собственный компаратор для сравнения одной из переменных объекта, которая имеет тип int.
Мне удалось отсортировать список объектов, используя другую переменную, которая является датой. Пользовательский компаратор, который я сделал, прекрасно работает с объектами Date.
Это компаратор, который я использую для сортировки объектов, используя целочисленную переменную, которая в данном случае является «приоритетом» объекта.
public void sortByPriority(){
Collections.sort(reminderList, new Comparator<Reminder>() {
@Override
public int compare(Reminder o1, Reminder o2) {
return o1.getPriority() - o2.getPriority();
}
});
reminderAdapter.notifyDataSetChanged();
}
На макете есть кнопка, которая вызывает метод sortByPriority () выше. При щелчке он фактически выполняет некоторую операцию сортировки, но результаты не совпадают ни в списке, ни в обзоре переработчика.
Например, исходный набор данных выглядит примерно так (значения приоритетов находятся в диапазоне от 1 до 4, а приоритет принадлежит классу напоминаний)
(исходные данные: 4,1,1,4,2,3,2,1,1,2)
(отсортировано с помощью вышеуказанного компаратора: 1,1,1,2,2,4,1,2,3,4)
Похоже, что он собирается работать правильно, но что-то происходит в середине. (Кстати я хочу их в порядке убывания)
Я довольно новичок, поэтому, возможно, я все испортил. Большое спасибо за вашу помощь.