2013-06-03 50 views
2

我正在用用戶提供的來自SQLite數據庫的數據填充微調器。Android 2.3.3微調器自動排序

問題是,在Android 3.0和更新的微調列表發生與數據庫中的數據(不排序)相同的順序。但是,在Android 2.3.3中,微調控件的內容會自動按字母順序排序。這意味着我的微調器中的第一項與我的數據庫/光標中的第一項不同。

一個可能的解決方案是使用getItemAtPosition(pos).toString()但因爲我的微調行包含我的數據庫中的兩個列的組合,這意味着我必須分裂的getItemAtPosition(pos).toString()結果,搜索數據庫中的第一個字,然後搜索結果第二個詞。然後我必須檢索相應的ID並在屏幕上顯示屬於該ID的數據。所有這些代碼必須在用戶每次選擇微調器上的另一個項目時運行,這似乎效率很低。

我發現的大多數示例/教程假定微調器和數據的列表順序是相同的。

我在這裏做錯了什麼?

回答

1

我不確定發生了什麼事。我自己使用了紡紗器,從未遇到過這個問題。然後再次,我通常強加自己的某種排序,因爲我不能依賴數據庫條目的半隨機排序。

我建議你添加一個「order by _id asc」(或desc)給你的請求。這將迫使Sqlite根據數據添加到數據庫的順序對數據進行排序。

+0

謝謝,請嘗試sqlite排序 – RoadXY