我在使用SQLite数据库中的数据填充我的微调器时出现问题。这是我的活动中的代码。活动崩溃,无法启动活动ComponentInfo错误,如箭头所示。
public class ProjectsActivity extends Activity {
private ReelDbAdapter dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.projects_select);
fillProjectSpinner();
}
private void fillProjectSpinner(){
// initialize cursor to manage data binding to spinner
Cursor projectCursor = null;
Spinner spnExistingProjects = (Spinner)findViewById(R.id.spnExistingProject);
---> projectCursor = dbHelper.getExistingProjects();
//startManagingCursor(projectCursor);
/*
//get the list of project names from the database
String[] from = new String[] {dbHelper.clmProjectName};
//add a new item to the spinner for each of the rows in the database
int [] to = new int[]{R.id.txtViewProjectRow};
//initialize a cursor adapter (similar to ArrayAdapter when populating a spinner from a pre-defined array)
SimpleCursorAdapter projectAdapter = new SimpleCursorAdapter(this, R.layout.view_project_row, projectCursor, from, to);
//add all the rows to the spinner
spnExistingProjects.setAdapter(projectAdapter);
*/
}
这是来自我的dbAdapter的getExistingProjects方法的代码 public Cursor getExistingProjects(){
if(mDb == null)
{
this.open();
}
return mDb.query(dbTableProject, new String[] {clmProjectName, clmProjectShootingTitle, clmProjectJobNumber},
null, null, null, null, null);
}
有关我可能做错的任何线索? TIA提供任何帮助。 规范
答案 0 :(得分:0)
为什么不在方法中返回光标之前确保查询返回了什么?在其中放入一条日志行,吐出光标的数量。此外,在使用调试器时,您应该能够轻松地看到这一点。
另外,为什么当你要将它初始化几行时,为光标的减速度赋值为null。在一行中完成所有工作。
最后,你在尝试使用this.open()行的数据库是什么?我显然无法用你发布的代码告诉我,但试着抓住整个事情并吐出strackTrace。你应该看到你的问题。