Сортировка списка пользовательских объектов по свойству в Android Studio (проблема уровня API) - PullRequest
0 голосов
/ 23 сентября 2018

Я хочу отсортировать список пользовательских объектов в порядке убывания по отношению к его одному свойству (с типом переменной «long») в Android.Для этого я использовал Collections Comparator, но моя проблема в том, что он говорит: «Для вызова Long.compare требуется API уровня 19 (текущий минимум равен 16)». Есть ли альтернативный способ справиться с этим?(Код работает на моем виртуальном устройстве без ошибок, но я хочу, чтобы он работал на устройствах с уровнем API ниже 19)

Мой код сортировки:

// Sort the news according to their last update time (show the latest on top)
    Collections.sort(news, new Comparator<NewsItem>() {
        @Override
        public int compare(NewsItem newsItem1, NewsItem newsItem2) {
            return Long.compare(newsItem2.getUpdateTime(), newsItem1.getUpdateTime());
        }
    });

мой пользовательский объектэто NewsItem с пятью атрибутами, и я хочу отсортировать список по атрибуту UpdateTime, который имеет тип Long.

1 Ответ

0 голосов
/ 23 сентября 2018

Вы можете создать Long объекты для времени и сравнить их напрямую:

Collections.sort(news, new Comparator<NewsItem>() {
    @Override
    public int compare(NewsItem newsItem1, NewsItem newsItem2) {
        return Long.valueOf(newsItem2.getUpdateTime()).compareTo(
               Long.valueOf(newsItem1.getUpdateTime()));
    }
});

В качестве примечания: уровень API 16 довольно устарел, и вы можете рассмотреть вопрос об обновлении ваших требований.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...