Wenn der in SimpleCursorAdapter verwendete Cursor geschlossen wird
Ich verwende einen SimpleCursorAdapter, um Ergebnisse in einer ListView anzuzeigen. Da ich jedoch während einer Suche (mithilfe des SearchView-Widgets) häufig eine Abfrage in meiner Datenbank durchführen muss, bin ich besorgt, dass der Cursor möglicherweise geöffnet bleibt.
So frage ich meine Datenbank ab und zeige die Ergebnisse in einer ListView an:
class SearchCustomers extends AsyncTask<String,Void,Cursor>{
@Override
protected Cursor doInBackground(String... params) {
//get the query
String query=params[0].toLowerCase(Locale.getDefault());
Cursor cursor=mDB.searchCustomersByName((query != null ? query : "@@@@"));
return cursor;
}
@Override
protected void onPostExecute(Cursor result) {
if (result != null) {
String[] from = new String[] { QuickOrderDB.ID,
QuickOrderDB.NAME,
QuickOrderDB.ADDRESS,
QuickOrderDB.PHONE_NUMBER };
int[] to = new int[] { R.id.customerIDTextView,
R.id.customerNameTextView,R.id.customerAddressTextView ,
R.id.customerPhoneTextView };
SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(SearchCustomersActivity.this,
R.layout.results_customer_item, result, from, to);
mResultsListView.setAdapter(cursorAdapter);
}
}
}
Ich habe viele Dinge versucht, um den Cursor zu schließen, aber selbst wenn ich ihn nach @ schliemResultsListView.setAdapter(cursorAdapter);
das Ergebnis ist immer dasselbe:eine leere ListView.
Ich habe bereits einige Fragen gesehen, in denen erwähnt wird, dass der Cursor automatisch geschlossen wird, aber ich möchte sicherstellen, dass dies wahr ist.
Gibt es eine offizielle Dokumentation dazu? Schließt der SimpleCursorAdapter den Cursor wirklich automatisch??
Danke im Voraus