Сортировка списка по дате Android - PullRequest
1 голос
/ 16 марта 2011

Я получил пользовательский просмотр списка, который содержит информацию о телешоу, т.е. показать заголовок, последний эпизод, дату последнего эпизода, следующий эпизод, дату следующего эпизода и так далее.

Теперь я хочу отсортировать список, т.е. по дате последнего эпизода. Шоу хранятся в Arraylist, а дата хранится в виде строки в формате MMM / dd / yyyy.

Sort by title works with follow code:

    public void sortByTitle() {
        Comparator<Show> comperator = new Comparator<Show>() {
            @Override
            public int compare(Show object1, Show object2) {
                return object1.getTitle().compareToIgnoreCase(
                        object2.getTitle());
            }
        };
        Collections.sort(dataFromDB, comperator);
        lv1.setAdapter(new CustomListViewAdapter(this, dataFromDB));
    }

Кто-нибудь может помочь?

Ответы [ 3 ]

4 голосов
/ 16 марта 2011

Сохраните ваши даты в виде строк в формате yyyy-MM-dd.Сравнение двух строк даты в этом формате всегда гарантирует получение сортировки по возрастанию / убыванию.

1 голос
/ 16 марта 2011

То же, что вы сортируете на основе заголовка, может быть сделано и с датами.Пример:

 // sort by date
    public int compareTo(NewsDetails another) 
    {
        if (another == null) return 1;
        // sort descending, most recent first
        return another.date.compareTo(date);
    }
0 голосов
/ 16 марта 2011

Учитывая, что у вас есть все данные в ArrayList и у вас есть два ArrayList, один содержит дату, а соответствующие индексы в другом ArrayList имеют другие подробности о телешоу, вы должны сортировать оба ArrayLists основание дат, хранящихся в ArrayList, который содержит дату, а затем предоставляет ей адаптер ListView.

Вы можете создать объект Date с датой и временем, а затем отсортировать их.

Было ли это полезно?

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