tôi có dữ liệu tải spinner đến sqlitetải từ sqlite spinner với văn bản và giá trị
tôi có id trường và tên trường trong cơ sở dữ liệu.
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;
}
và kết quả là
USA -> giá trị là "USA"
Pháp -> giá trị là "Pháp"
khi tôi thay đổi mã labels.add(cursor.getString(1));
-labels.add(cursor.getString(0));
và kết quả là
1 -> val ue là "1"
2 -> giá trị là "2"
tôi cố gắng với int position2 = spin2.getSelectedItemPosition()+1;
nhưng giá trị là id/vị trí của spinner, không phải là id của cơ sở dữ liệu.
cách hiển thị tên trường trên spinner. nhưng giá trị là id của tên
Ví dụ: spinner display:
USA -> giá trị là "1"
Pháp -> giá trị là "2"
BR
Alex
cùng một thuật toán khi tôi thấy [http: // stackoverflow này.com/questions/5424841/whats-the-correct-way-to-triển khai-key-value-pair-in-spinner-in-android]. tôi thử với hai phương thức, với mã của bạn và với 'SimpleCursorAdapter' và nó hoạt động. cảm ơn sự giúp đỡ của bạn @Leeeeeeelo –
Bài đăng hay! Câu lệnh 'cursor.getString (0)' có thể là 'cursor.getInt (0)' mặc dù. – dana
Xin chào các bạn, tôi mới làm quen với Android, và thực sự có yêu cầu tương tự và thử giải pháp mà bạn đề xuất, nhưng không thể vượt qua nó. Bạn có thể xin vui lòng gửi một dự án ví dụ làm việc cho việc này. Vui lòng – sjpatel