Когда закрывать курсор, используемый в SimpleCursorAdapter
Я использую SimpleCursorAdapter для отображения результатов в ListView, но так как мне приходится много раз запрашивать мою базу данных во время поиска (используя виджет SearchView), меня беспокоит, что курсор можно оставить открытым.
Вот как я запрашиваю свою базу данных и показываю результаты в ListView:
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);
}
}
}
Я пробовал много вещей, чтобы закрыть курсор, но даже если я закрою его послеmResultsListView.setAdapter(cursorAdapter);
результат всегда один и тот же:пустой ListView.
Я уже видел пару вопросов, в которых упоминается, что курсор будет закрыт автоматически, но я хочу убедиться, что это правда.
Есть ли официальная документация по этому поводу? SimpleCursorAdapter действительно закрывает курсор автоматически??
Заранее спасибо.