2014-12-01 52 views
1

我有一個ArrayList,我想按字母順序排序。有人可以幫我嗎?在Android中按字母順序排列列表

我的代碼是:

listProd = new ArrayList<Producer>(); 

Collections.sort(listProd, new Comparator<Producer>() { 
    @Override 
    public int compare(Producer p1, Producer p2) { 
     return p1.getLastname().compareToIgnoreCase(p2.getLastname()); 

    } 
}); 

if (!checked) { 
    for (Tour t : listTour) { 
    listProd.addAll(t.getProducers()); 
    } 
} else { 
    listProd = service.getAllProducers(); 
} 

回答

2

你必須排序你的一切添加到列表:

if (!checked) { 
    listProd = new ArrayList(); 
    for (Tour t : listTour) { 
     listProd.addAll(t.getProducers()); 
    } 
} else { 
    listProd = service.getAllProducers(); 
} 

Collections.sort(listProd, new Comparator<Producer>() { 

     @Override 
     public int compare(Producer p1, Producer p2) { 
      return p1.getLastname().compareToIgnoreCase(p2.getLastname()); 

     } 
}); 
+0

謝謝!這個對我有用。 – 2014-12-01 22:11:01