我已经阅读了几个小时的内容,但仍然没有想出怎么做。
我设法从游标中填充一个微调器来读取数据库,现在我试图在微调器上获取所选项目以帮助填充列表视图。
这是我的代码:
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返回光标位置。现在,我知道我必须将它与数据库进行比较以获得我想要的值,但我不能这样做。你能帮帮我吗?
提前致谢。
修改: 伙计们,你能救我吗? 我设法通过实现上面的代码来获取所选项目,但是只有在应用程序启动时才会填充列表视图。当我在微调器上选择一些东西时,没有任何反应。 :|
答案 0 :(得分:0)
如果要从数据库中检索所选项,只需将onItemSelected
(id
)的第四个参数传递给SQL查询。它是记录的行ID,又名_ID
。