我正在尝试使用数据库中的数据填充微调器。代码在子程序中。一切都执行了,但微调器是空的。如果我将代码复制到“onCreate(Bundle saveInstanceState) 它工作正常。我想我有上下文问题但无法弄清楚。
这是子程序:
public void showMatchNames (){
Cursor c;
String sMatchName = "MatchTable";
c = db.query(sMatchName, new String[]{KEY_ROWID, KEY_TITLE}, null, null, null, null, null);
if(c.moveToFirst()){
SimpleCursorAdapter MatchAdapter = new SimpleCursorAdapter(this,android.R.layout.simple_spinner_item, c, new String[]{KEY_TITLE}, new int[]{android.R.id.text1});
MatchAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner spin2 = (Spinner)this.findViewById(R.id.spinner2);
spin2.setAdapter(MatchAdapter);
}
scrMatchView.setOnItemSelectedListener(new mySpinnerListener());
c.close(); // Done with Cursor so close it
}
数据库中有数据,通过导出到 SQliteMan 并进行查询来确认。我还可以从数据库中提取名称并使用“showMatchNames”子例程中的简单 ArrayAdapter 填充微调器。
我很确定这很简单,但我已经盯着这个看了好几个小时了,无法让它工作。
任何帮助都会非常受欢迎。