排序第二项android的数组列表

时间:2011-10-28 09:34:22

标签: android

我有一个在旋转器中使用它的数组列表,我有第一个值我旋转器作为标题,我想从旋转器中的第二项排序数组列表但我不知道如何做到这一点我使用下面的技巧但它排序整个数组列表,包括第一项是标题,以便如何从第二项进行statr排序... 我的代码在下面......

 // this is my title ie. "provincia"
    String select2= "Provincia";
       if(!estado1.contains(select2)){
          estado1.add(select2);
          }

     for (int i = 0; i < sitesList1.getEstado().size(); i++)
     {
         if(!estado1.contains(sitesList1.getEstado().get(i))) 
            {

             estado1.add(sitesList1.getEstado().get(i));
                  Collections.sort(estado1);

            }

使用下面的代码在spinner中显示它......

 final ArrayList<String> estado1 = MainMenu.barrio1;
     final Spinner estado11 = (Spinner) findViewById(R.id.Spinner04);
     ArrayAdapter<String> adapterbarrio = new ArrayAdapter<String>(this, 
           android.R.layout.simple_spinner_item, estado1)

           estado11.setAdapter(adapterbarrio);

4 个答案:

答案 0 :(得分:2)

为什么不删除标题/只在列表排序后添加标题?

答案 1 :(得分:2)

这个怎么样

    List<String> list = new ArrayList<String>();
    // Fill list
    String title = list.get(0);
    list.remove(0);
    Collections.sort(list);
    list.add(0, title);

答案 2 :(得分:1)

使用冒泡排序!并从index = 1开始!

final ArrayList<String> estado1;
for(int i=1; i<estado1.size() ; i++) {
     for(int c=i; c<estado.size() ; c++) {
          if(estado1.get(i).compareTo(estado1.get(c)))
          {
               String temp = estado1.get(i);
               estado1.remove(i);
               estado1.add(i, estado1.get(c));
               estado1.remove(c);
               estado1.add(c, temp);
          }
     }
}

PS:性能非常糟糕

答案 3 :(得分:1)

一种方法是分割arraylist,如

estado1.subList(1,estado1.size()-1);

这将返回一个不包括您的标题的子列表。