如何根据字母顺序从数据库中获取值以在列表视图中设置值

时间:2015-04-03 07:44:09

标签: android sqlite android-listview

到目前为止,这是我的代码,用于将数据库中的值检索到listview。我需要按字母顺序显示它们。我该如何更改此代码?请帮忙!

  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;
      }

3 个答案:

答案 0 :(得分:1)

您可以像这样使用您的查询:

db.rawQuery("SELECT *
        FROM " +tableName +" ORDER BY " +yourcolumnName+ " DESC", null);
希望它有所帮助。

答案 1 :(得分:1)

试试这个 SELECT * FROM TABLE_UNITS ORDER BY YOUR_COLUMN_NAME;

您可以在ASC之后使用DESCORDER BY命令,以便根据您的要求获取数据,即您希望按字母顺序显示或反向按字母顺序显示。

答案 2 :(得分: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);
                }
            });

或者你可以改变你的查询,如上所述