0

我正在寻找从数据库中获取和设置微调器加载的值,但我没有找到它。

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 selected 值时,我的 id 和位置是相同的,并且不是光标的 id,它是 de spinner 中的位置。

如何获取所选值的 de ID?如何设置微调器的值。

我需要并且我知道数据库的 id,而不是微调器的 id/位置。

提前致谢。

4

1 回答 1

0

您没有获得_id有关onItemSelected微调器的真实数据库,因为您将微调器连接到ArrayAdapter. 这种适配器连接不以任何方式连接到您的数据库,而只是List<String>您传递给它的集合或其他集合。为了得到你想要的,你需要将微调器的适配器设置为 a CursorAdapter

于 2013-01-05T19:42:10.667 回答