我正在使用微調讓用戶在創建和更新對話框中選擇數據庫關係(1:n)。填充與數據庫遊標微調正常工作:Android:從光標填充數據集ID Spinner
//set up spinner
Spinner spinner = (Spinner) dialog.findViewById(R.id.field_task_fkbudget);
//set up cursor
budgetsData = new TBTsqlHelperBudgets(this);
SQLiteDatabase db = budgetsData.getReadableDatabase();
Cursor c2 = db.query(TBTsqlHelperBudgets.TABLE,null,null,null,null,null,null);
c2.moveToFirst();
// populate spiner
SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, c2, new String[] {TBTsqlHelperTasks.KEY_NAME}, new int[] {android.R.id.text1});
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter2);
spinner.setSelection(0);
我現在的問題是儲蓄的選擇到數據庫。我試圖使用:
...
caller.updateTask(task_id, field_name.getText().toString(), s.getSelectedItemPosition());
...
但這給了我在微調框內的數據集位置。我需要的是在微調器中選擇的遊標元素的字段BaseColumns._ID的內容。
有沒有更好的方法來接收這個比用數據庫上的字符串匹配進行另一次選擇?