2015-04-03 25 views
-1

這是我迄今爲止將數據庫中的值返回給listview的代碼。我需要按照字母順序讓它們出現。我應該如何更改此代碼?請幫忙!如何從數據庫中獲取值以按照alpherbatical順序在列表視圖中設置

public List<Units> getAllUnit() { 
      List<Units> unit = new ArrayList<Units>(); 

      SQLiteDatabase db = getWritableDatabase(); 
     Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_UNITS, null); 

     if (cursor.moveToFirst()) { 
       do { 
       unit.add(new Units(Integer.parseInt(cursor.getString(0)) , cursor.getString(1), cursor.getString(2), cursor.getString(3))); 
     } 
      while (cursor.moveToNext()); 
     } 
     cursor.close(); 
     db.close(); 
     return unit; 
     } 

回答

1

您可以使用您的查詢是這樣的:

db.rawQuery("SELECT * 
     FROM " +tableName +" ORDER BY " +yourcolumnName+ " DESC", null); 

希望它幫助。

+0

謝謝你洙多說了!這是工作! :) – 2015-04-03 07:58:31

+0

高興地幫助你。快樂的編碼:-) – Umair 2015-04-03 08:01:27

1

試試這個 SELECT * FROM TABLE_UNITS ORDER BY YOUR_COLUMN_NAME;

您可以依次ORDER BY後使用ASCDESC命令來獲取數據,按您的要求,即要在字母順序顯示或反向字母順序。

0

您可以使用這段代碼按字母順序排列列表。 object2.yourparameter是您要訂購的參數。

Collections.sort(unit, new Comparator<Units>() 
      { 
       @Override 
       public int compare(final Units object1, final Units object2) 
       { 
        return object1.name.compareTo(object2.yourparameter); 
       } 
      }); 

,或者你可以改變你的查詢像上面

相關問題