我正在使用微调让用户在创建和更新对话框中选择数据库关系(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的内容。
有没有更好的方法来接收这个比用数据库上的字符串匹配进行另一次选择?