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

Respuestas a la pregunta(1)

Su respuesta a la pregunta