Close nunca foi explicitamente chamado

Eu tenho uma listview que é originada por um banco de dados sqlite. Eu chamo fillData () em vários pontos diferentes para atualizar a list

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;
            }
        });
}

Isso funciona ... o problema é que, quando abro / fecho / pulo as atividades, recebo erros no logcat. Não falha o programa embora. Os erros são:

Certifique-se de chamar explicitamente close () no seu cursor

close () nunca foi chamado explicitamente no banco de dados

So sob}); se eu colocar mDbHelper.close () ele falha dizendo que o banco de dados não está aberto. Se eu colocar c.close (), minha lista nunca será preenchida. Eu tentei colocá-los em vários outros lugares e isso me dá erros dizendo cursor / banco de dados já fechado. Alguma idéia do que fazer

questionAnswers(1)

yourAnswerToTheQuestion