我所试图做的是从另一数据库管理器类的ArrayList。 不幸的是我所能做的,因为经理类不能静态地工作,是在另一个类中创建一个实例,然后调用该方法。 然后,我让自己陷入到通过同一实例成要求的方法SQLiteDatabase
对象。 现在我把自己累得混乱的困境,当我真正想要的是做的是检索数组列表从一个SQL列中显示的元素列表视图。
编辑:我的职位不清晰,所以我会尽力来指定到底是怎么回事错的,什么我想在这里完成:
在显示(输出)的活动,我想用一个ListView显示包含在一个SQL数据库元素。 目前,我只专注于一列(分配名称)。 我的办法涉及使用get
内置数据库管理器类的方法,而是因为你不能引用静态方法,我试图通过创建管理器类的实例使用的方法。 这将返回输入对象的ArrayList(每片含名称)。 这似乎已经奏效,但在运行程序时,该logcat的抗议,我是递归调用getDatabase。 网上通缉后,人们建议我改变了方法,要求解决该问题(SQLiteDatabase db)
所以同样的数据库获取经理到处滥用作为参数。 现在我弄糊涂这里 - 我不知道该怎么传递到从显示的活动这种方法。 它也没有帮助,从我从听到的意见,我get
方法不正确遍历SQL数据库。 如果你能解决这个难题,谢谢!
我会后我的代码进行诊断,希望外界视图将显示究竟有什么不对的一切我想在这里。
public Cursor getAssignmentNames(SQLiteDatabase db) {
return db.query(false, ASSIGNMENT_TABLE, COLUMN_TITLES,
" WHERE " + ASSIGNMENT_NAME + " ", null, null, null, " ORDER BY "+ASSIGNMENT_URGENCY_RATING, null);
}
/
public ArrayList<Inputted> getListOfAssignments (SQLiteDatabase db) {
Cursor names = getAssignmentNames(db);
ArrayList<Inputted> assList = new ArrayList<Inputted>();
names.moveToFirst();
while (!cursorsAreAfterLast(names) ) {
int go = 0;
assList.add(new Inputted(names.getString(go))
names.moveToNext();
go++;
}
return assList;
}
/
DBRecordsLayer assignmentRecords = new DBRecordsLayer(this,
"assignment.db", null, 1);
ArrayList<Inputted> assList = DBRecordsLayer.getListOfAssignments(assignmentRecords);