2011-05-02 88 views
2

我有一個SimpleCursorAdapter從SQLite數據庫中檢索信息並將其放入ListView中。這是所有的教科書的東西:顛倒ListView顯示的順序

  new SimpleCursorAdapter(this, R.layout.viewexisting, c, from, to); 

但是,我很希望它顯示的數據反向。目前數據庫中最舊的條目出現在頂部,而最新的出現在底部。

+1

你可以嘗試訂購你的sql語句。例如「Select .. from ... where ... order by date asc/desc」 – f20k 2011-05-02 18:16:35

+0

哦,現在我覺得很蠢!我完全忘記了在我的DBAdapter中執行查詢的方法!非常感謝,我會在一秒鐘內添加解決方案。 – 2011-05-02 18:22:58

回答

4

列表的順序取決於您如何構建SQL查詢。特別是影響這一點的是SQLite查詢方法中的Sort參數。最後一個參數是列排序依據的,這取決於該列在數據庫中,它會通過..對其進行排序例如:

[database object].query(.., COL_NAME + " ASC"); 

COL_NAME是列的名稱和ASC代表'升序'

我相信它的DESC爲'Decending Order'。

請記住,該列需要是整數,字符串或日期。 SQLite將使用這些附加的升序或降序參數。

0

或按相反順序度假哈希表。如果您有固定的數據庫結果,這是很好的選擇

1

嗯。所提供的答案並不完全正確,因爲這會改變記錄從數據庫中出來的順序。想象一下原始問題作者在他的數據庫中有50條記錄,他希望每次從數據庫中提取10條最新的條目,但讓用戶改變這10條條目的顯示方式。他不想更改他的SQL查詢。