Применить сортировку в адаптере в сетке - PullRequest
2 голосов
/ 11 октября 2011

У меня в приложении Android есть сетка, в которой изображения извлекаются из файла XML и устанавливаются и просматриваются в виде сетки.Некоторые изображения из XML-файла имеют важные маркировки.Я хочу показать, что отмеченные изображения в начале сетки.Для этого я думаю, что я должен применить сортировку.Кто-нибудь может подсказать мне, как сделать сортировку изображений?Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 11 октября 2011

Я предполагаю, что у вас есть список изображений, которые вы привязываете к адаптеру.Если у вас есть список изображений и вы хотите отсортировать его, вам нужно реализовать собственный компаратор для сортировки этого массива (списка).

вот пример пользовательского компаратора ...

public Comparator<TheaterInfo> ComparatorByDistance = new Comparator<TheaterInfo>() {

    public int compare(TheaterInfo object1, TheaterInfo object2) {
        if (object1.getDistance().length() > 0
                && object2.getDistance().length() > 0) {
            String[] d1 = object1.getDistance().replace(" ", "#").split("#");
            String[] d2 = object2.getDistance().replace(" ", "#").split("#");
            float o1 = Utils.ConvertToFloat(d1.length > 1 ? d1[0] : "0.0");
            float o2 = Utils.ConvertToFloat(d2.length > 1 ? d2[0] : "0.0");
            if (o1 == o2)
                return 0;
            return o1 > o2 ? 1 : -1;
        }
        else
        {
            return object1.getDistance().length() > 0 ? 1 : -1;
        }
    }
};

И вы можете использовать этот компаратор ...

Collections.sort(your_list_type_object, ComparatorByDistance);

Спасибо.

0 голосов
/ 11 октября 2011

Составьте список ваших элементов и используйте

Collections.sort(your_list_here);

Это должно отсортировать ваши элементы в списке

...