2013-10-01 3 views
0

У меня есть список, заполненный контактами. В моем классе Contact я реализовал сопоставимые данные, и я применил метод compareTo, который сравнивает две строки.Сортировка списка в android для просмотра списка

С помощью этого метода я могу вызвать Collections.sort (myList), и он будет сортироваться в соответствии с именем.

Мой вопрос: что мне делать, чтобы сортировать по другой категории?

Благодаря

+0

Используйте 'Collections.sort (список, компаратор)' вместо 'Collections.sort (список)' –

ответ

1

Ну, вы можете пойти двумя путями:

  1. Поскольку вы уже начали с implemeting сопоставимом интерфейс, можно добавить флаг на класс, который гласит, каким оно должно быть сравнение

  2. Другим вариантом было бы создание классов, реализующих интерфейс Comparator (1 класс для каждого метода сортировки). При сортировке используйте второй метод Collections.sort(), который также принимает объект Comparator. Затем просто переключайтесь между объектами компаратора, когда хотите сортировать по-разному.

Надеется, что это помогает :)

+0

бы ответ на этот пост решить мою проблему? http://stackoverflow.com/questions/14154127/collections-sortlistt-comparator-super-t-method-example – Ogen

+0

да, это будет, он показывает пример с компараторами. –

+0

только другой быстрый вопрос. Почему это говорит компараторы.NAME в методе compareTo? Почему бы не ВОЗРАСТ ИЛИ НЕПРАВИЛЬНО? – Ogen

Смежные вопросы