Ошибки вызваны тем, что если вы завершаете операции с базой данных, вы должны закрыть ее.

я есть 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 (), мой список никогда не будет заполнен. Я попытался поместить их в различные другие места, и это дает мне ошибки, говоря, что курсор / база данных уже закрыта. Есть идеи, что делать?

Ответы на вопрос(1)

Ваш ответ на вопрос