Close nunca se llamó explícitamente
Tengo una vista de lista que proviene de un sqlite db. Llamo a fillData () en varios puntos diferentes para actualizar la vista de lista.
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;
}
});
}
Eso funciona ... el problema es que cuando abro / cierro / salto actividades, obtengo errores en logcat. Sin embargo, no bloquea el programa. Los errores son:
Asegúrese de llamar explícitamente a close () en su cursor
close () nunca fue llamado explícitamente en la base de datos
So under}); si pongo mDbHelper.close () se bloquea diciendo que la base de datos no está abierta. Si pongo c.close (), mi vista de lista nunca se completa. He intentado ponerlos en varios otros lugares y me da errores diciendo que el cursor / base de datos ya está cerrado. ¿Alguna idea sobre lo que debe hacer