Ошибки вызваны тем, что если вы завершаете операции с базой данных, вы должны закрыть ее.
я есть listview, который получен из базы данных sqlite. Я вызываю fillData () в нескольких разных точках, чтобы обновить представление списка.
private void fillData() {
mDbHelper.open();
Cursor c = mDbHelper.fetchAllNotes(table, columns, selection, selectionArgs, null, null);
startManagingCursor(c);
String[] from = new String[] { "quantity", "color", "style" };
int[] to = new int[] { R.id.textQuantity, R.id.textColor, R.id.textStyle };
setListAdapter(new SimpleCursorAdapter(this, R.layout.recordrow, c, from, to) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
return v;
}
});
}
Это работает ... проблема в том, что когда я открываю / закрываю / прыгаю вокруг действий, я получаю ошибки в logcat. Это не сбой программы, хотя. Ошибки:
Пожалуйста, убедитесь, что вы явно вызываете close () на вашем курсоре
а также
close () никогда не вызывался явно для базы данных
Так что под}); если я ставлю mDbHelper.close (), он вылетает, говоря, что база данных не открыта. Если я поставлю c.close (), мой список никогда не будет заполнен. Я попытался поместить их в различные другие места, и это дает мне ошибки, говоря, что курсор / база данных уже закрыта. Есть идеи, что делать?