2014-03-27 37 views
0

不排序列表視圖中的字符串我試圖從Android: How to sort data for ListView?學習,但我不能排序Flights我通過選擇在轉排序(位置= 1),我想在Flights我可以在Android的

 final ArrayList<HashMap<String, String>> ArrList = new ArrayList<HashMap<String, String>>(); 

     Spinner sort1 = (Spinner) findViewById(R.id.sort1); 
     String[] sortName; 
     sortName = getResources().getStringArray(R.array.sort_enroute); 
     ArrayAdapter<String> ADT = new ArrayAdapter<String>(this, 
       android.R.layout.simple_spinner_item, sortName); 
     sort1.setAdapter(ADT); 

     final ListView list1 = (ListView) findViewById(R.id.list); 
     int arrLength = dataF.length; 

     for (int i = 0; i < arrLength; i++) 
     { 
      HashMap<String, String> map = new HashMap<String, String>(); 

      map.put("Flights", dataF[i]); 
      map.put("Types", dataT[i]); 
      ArrList.add(map); 
     } 

     ListAdapter adapters = new SimpleAdapter(Result.this, ArrList, 
       R.layout.column_layout, new String[] { "Flights", "Types"}, 
       new int[] { R.id.flightnum, R.id.DES }); 
     list1.setAdapter(adapters); 


     sort1.setOnItemSelectedListener(new OnItemSelectedListener() { 

      @Override 
      public void onItemSelected(AdapterView<?> arg0, View arg1, 
        int arg2, long arg3) { 
       if (arg2 == 1) { 

        Collections.sort(ArrList, 
          new Comparator<HashMap<String, String>>() { 

           @Override 
           public int compare(
             HashMap<String, String> arg0, 
             HashMap<String, String> arg1) { 

     return arg0.get("Flights").compareTo(arg1.get("Flights")); 
       } 

       }); 

       } 
      } 
+0

請問格式化您的代碼?命中控制(或命令)+日食中的移位+ F。 – VicVu

+0

嘗試刪除數組列表中的最後一個,聲明爲公共並重試 – MrMins

回答

0

排序字符串在對列表進行排序後,您需要讓適配器知道數據已更改。檢查this。撥打電話adapter.notifyDataSetChanged()

相關問題