从微调器获取和设置值

时间:2013-01-05 17:00:43

标签: android android-spinner android-sdk-2.3

我正在寻找从数据库中获取和设置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 /位置。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您没有在微调器的_id上获得真正的数据库onItemSelected,因为您将微调器连接到ArrayAdapter。这种类型的适配器连接不以任何方式连接到您的数据库,而只连接到您传递给它的List<String>或其他集合。要获得所需内容,您需要将微调器的适配器设置为CursorAdapter