我正試圖在Android對話框中填充微調器。當用戶點擊一個按鈕時,會彈出一個對話框,並從XML文件加載佈局。現在我正試圖從SQL查詢中填充該Spinner。我已經搜遍了,無法弄清楚問題所在。我可以遍歷Cursor並將每個值添加到ArrayAdapter,然後將其用作微調列表的列表,但不包含數據庫中的_id。在使用SimpleCursorAdapter之前,我已經完成了這個工作,我甚至完全複製並粘貼了舊的代碼,但仍然無法正常工作。任何幫助將非常感激。將數據從光標綁定到微調器Android
我的對話框代碼:
private void displayNewInteractionDialog() {
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.mm_new_dialog);
dialog.setTitle(R.string.mm_new_dialog_title);
dialog.setCancelable(true);
final Spinner spinner = (Spinner) dialog.findViewById(R.id.mm_spinner);
DatabaseInterface db = new DatabaseInterface(this);
db.open();
Cursor c = db.getNames();
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_spinner_item,
c,
new String[] {DatabaseInterface.KEY_ID, DatabaseInterface.KEY_NAME},
new int[] {android.R.id.text1});
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
c.close();
db.close();
dialog.show();
}
這裏是我的DatabaseInterface類返回遊標代碼:
public Cursor getNames() {
return db.query(DATABASE_TABLE_4, new String[] {DatabaseInterface.KEY_ID, DatabaseInterface.KEY_NAME}, null, null, null, null, null);
}
我知道這會工作,我只是失去了一些東西明顯。我知道我可以使用上面陳述的ArrayAdapter中的名稱列表加載Spinner,並使用查詢中的ID填充數組,並且當用戶選擇一個項目時,我只需從ID的數組中獲取相應的項目...但我知道SimpleCursorAdapter將起作用,我似乎無法弄清楚,我不會放棄,直到我做哈哈。預先感謝您的幫助。
此外,我忘了說,我沒有收到錯誤,名單只是回來爲空。我知道查詢正在工作並返回項目,因爲我在設置適配器之前從光標打印出項目。 – DRiFTy