2016-04-13 3 views
-1

Я пишу программу, которая анализирует json и показывает ее в listView.
Теперь я хочу отсортировать его, но не знаю, как и не удается.
В программе у меня есть List<PoolOfflineModal> alist = new ArrayList<>(); так модально;Список сортировки <Modal> с пользовательским объектом Fild

public class PoolOfflineModal { 
    private int id; 
    private String name; 
    private int price; 
    private int priceWithoutDiscount; 
    private String tel; 
    private int discountPercent; 
    private String address; 
    private String photo; 
} 

и данные простые здесь http://hayat.cloudsite.ir/pools/pools.json

, поэтому я хочу, чтобы сортировать List по возрастанию по цене, так обновить ListView и я не знаю ...
другая идея ?! или решение ?!

другой способ существует для сортировки ListView из колонки без сортировки?!?

+1

Возможный дубликат [Сортировка ArrayList пользовательских объектов по недвижимости] (http://stackoverflow.com/questions/2784514/sort-arraylist-of-custom-objects- по-имуществу) –

+0

Проверьте мой ответ. – Darshak

ответ

0

это мой последний компаратор

public class MyComparator implements Comparator<PoolOfflineModal> { 
    @Override 
    public int compare(PoolOfflineModal lo, PoolOfflineModal ro) { 
     int result = 0; 
     if (way == "name") { 
      result = lo.getName().compareTo(ro.getName()); 
     } else if (way == "price") { 
      result = lo.getPrice().compareTo(ro.getPrice()); 
     } else if (way == "percent") { 
      result = lo.getDiscountPercent().compareTo(ro.getDiscountPercent()); 
     } 
     return result; 
    } 
} 
+0

там имя, цена, скидка сейчас String :( – Mahdi

0

Список объекты, как это:

List<PoolOfflineModal> alist = new ArrayList<>(); 

Компаратор класс Как это:

public class MyComparator implements Comparator<PoolOfflineModal> { 
    @Override 
    public int compare(PoolOfflineModal o1, PoolOfflineModal o2) { 
     return o1.id.compareTo(o2.id); 
    } 
} 

Применения Как это:

Collections.sort(alist, new MyComparator()); 

Надеется, что это будет полезно для вас.

+0

У него есть ошибка в compareTO, «Невозможно вызвать compareTo (int) для примитивного типа int« – Mahdi

+0

Я пытаюсь установить цены в String ... может быть, помогите ... – Mahdi

+0

много <3 вам, Даршак, спасибо, я использовал раньше, но не отвечаю, теперь я изменил тип цены в «json, modal и др., где» он работал, и отсортировано в списке. существует способ сортировки int ?! или я должен установить все int в строку?!? – Mahdi

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