从SQlite更改listview结果的顺序

时间:2016-03-29 16:40:35

标签: android sqlite listview

我的应用程序中有一个listview,它根据主键_ID字段显示记录,首先是最低的_ID号。如何更改它,以便它是listview中最高的_ID号码?即颠倒顺序。

当前生成列表视图的db查询如下所示。谢谢!

    public Cursor fetch() {
    String[] columns = new String[] { DatabaseHelper._ID, DatabaseHelper.SLOC, DatabaseHelper.FLOC, DatabaseHelper.DSNM, DatabaseHelper.SDATE, DatabaseHelper.STIME };
    Cursor cursor = database.query(DatabaseHelper.TABLE_NAME, columns, null, null, null, null, null);
    if (cursor != null) {
        cursor.moveToLast();
    }
    return cursor;
}

2 个答案:

答案 0 :(得分:2)

使用此查询:

  Cursor c = mDb.query(DATABASE_TABLE, rank, null, null, null, null, yourColumn+" DESC"); 

答案 1 :(得分:1)

您可以使用rawQuery方法点击此类自定义查询,并根据需要添加ORDER BY ASCDESC

public Cursor fetch() {

    String queryString = "SELECT * FROM tablename ORDER BY _id DESC"

    Cursor cursor = sqLiteDatabase.rawQuery(queryString);

    if (cursor != null) {
        cursor.moveToLast();
    }
    return cursor;
}