我有一個微調器加載數據到sqlite從文本和值從旋轉器sqlite加載
我有數據庫中的字段ID和字段名稱。
private void loadSpinnerDataHama() {
// database handler
DatabaseSpinner db = new DatabaseSpinner(getApplicationContext());
// Spinner Drop down elements
List<String> lables = db.getAllLabels();
// Creating adapter for spinner
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, lables);
// Drop down layout style - list view with radio button
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// attaching data adapter to spinner
spin2.setAdapter(dataAdapter);
}
public List<String> getAllLabels(){
List<String> labels = new ArrayList<String>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_LABELS;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
labels.add(cursor.getString(1));
} while (cursor.moveToNext());
}
// closing connection
cursor.close();
db.close();
// returning lables
return labels;
}
,其結果是
USA - >值是 「USA」
法國 - >值是 「法國」
當我改變代碼labels.add(cursor.getString(1));
到labels.add(cursor.getString(0));
,結果是
1 - > val UE是 「1」
2 - >值是 「2」
我嘗試與int position2 = spin2.getSelectedItemPosition()+1;
但該值是ID /旋轉器的位置,數據庫的不是ID。
如何在微調器上顯示字段名稱。但該值是名稱的ID
示例:微調顯示:
USA - >值是 「1」
法國 - >值是 「2」
BR
亞歷克斯
當我看到這個[http:// stackoverflow。COM /問題/ 5424841 /最新最正確的路到執行鍵 - 值對,在微調功能於機器人。我嘗試了兩種方法,用你的代碼和'SimpleCursorAdapter'並且它可以工作。感謝您的幫助 @Leeeeeeelo –
好帖子!儘管'cursor.getString(0)'語句可能應該是'cursor.getInt(0)'。 – dana
嗨,大家好,我是Android新手,真的有相同的要求,嘗試你提出的解決方案,但無法通過它。你可以請發佈一個工作示例項目。請致電 – sjpatel