我正在寻找从数据库中获取和设置spinner loades的值,但我找不到它。
private void loadSpinnerData() {
// database handler
DatabaseHandler db = new DatabaseHandler(getApplicationContext());
// Spinner Drop down elements
List<String> lables = db.getAllCadenesAsList();
// 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
spinner.setAdapter(dataAdapter);
}
光标返回_id和Name,并且正确加载微调器(似乎......)
现在,当我尝试在onItemSelected中选择de值时,我的id和位置是相同的,并且不是游标的id,它是de spinner中的posicion。
如何获取所选值的ID? 如何设置微调器的值。
我需要并且我知道数据库的id,而不是微调器的id /位置。
提前致谢。
答案 0 :(得分:0)
您没有在微调器的_id
上获得真正的数据库onItemSelected
,因为您将微调器连接到ArrayAdapter
。这种类型的适配器连接不以任何方式连接到您的数据库,而只连接到您传递给它的List<String>
或其他集合。要获得所需内容,您需要将微调器的适配器设置为CursorAdapter
。