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