微调器选择的项目

时间:2011-05-05 13:38:33

标签: android spinner selected

我已经阅读了几个小时的内容,但仍然没有想出怎么做。

我设法从游标中填充一个微调器来读取数据库,现在我试图在微调器上获取所选项目以帮助填充列表视图。

这是我的代码:

Cursor cursorpf = DatabaseHelper.getPFunc();
    startManagingCursor(cursorpf);

    Spinner spinnerpf = (Spinner) findViewById(R.id.spinner1);

    String[] frompf = new String[] { "Designacao" };
    int[] topf = new int[] { android.R.id.text1 };

    SimpleCursorAdapter scaPFunc = new SimpleCursorAdapter(this,
            android.R.layout.simple_spinner_item, cursorpf, frompf, topf);
    scaPFunc
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spinnerpf.setAdapter(scaPFunc);
    spinnerpf.setOnItemSelectedListener(new MyOnItemSelectedListener());
    final String stringpf = MyOnItemSelectedListener.getSelected();
            long id = spinnerpf.getSelectedItemId();
    String stringpf = String.valueOf(id);
    DatabaseHelper.setPF(stringpf);

MyOnItemSelectedListener类:

public class MyOnItemSelectedListener implements OnItemSelectedListener {

private static String selected = "";

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {        

    selected = String.valueOf(id);
Toast.makeText(parent.getContext(), "Escolha: " + selected, Toast.LENGTH_LONG).show();


}

@SuppressWarnings("unchecked")
public void onNothingSelected(AdapterView parent) {
    // Do nothing.
}

}

此类的toast返回光标位置。现在,我知道我必须将它与数据库进行比较以获得我想要的值,但我不能这样做。你能帮帮我吗?

提前致谢。

修改: 伙计们,你能救我​​吗? 我设法通过实现上面的代码来获取所选项目,但是只有在应用程序启动时才会填充列表视图。当我在微调器上选择一些东西时,没有任何反应。 :|

1 个答案:

答案 0 :(得分:0)

如果要从数据库中检索所选项,只需将onItemSelectedid)的第四个参数传递给SQL查询。它是记录的行ID,又名_ID