我正在尝试使用数据库中的数据填充微调器。代码在子程序中。一切都在执行但旋转器是空的。如果我将代码复制到“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填充微调器。
我很确定这很简单,但我现在已经盯着这几个小时了,无法让它发挥作用。
非常欢迎任何帮助。