到目前为止,这是我的代码,用于将数据库中的值检索到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;
}
答案 0 :(得分:1)
您可以像这样使用您的查询:
db.rawQuery("SELECT *
FROM " +tableName +" ORDER BY " +yourcolumnName+ " DESC", null);
希望它有所帮助。
答案 1 :(得分:1)
试试这个
SELECT * FROM TABLE_UNITS ORDER BY YOUR_COLUMN_NAME;
您可以在ASC
之后使用DESC
和ORDER 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);
}
});
或者你可以改变你的查询,如上所述