@Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); if (mContactAdapter != null && mContactAdapter.getCursor() != null) { mContactAdapter.getCursor().close(); mContactAdapter = null; } }
public void doFilter(Uri uri, String filterString) { if (!uri.equals(mUri)) { mUri = uri; if (mContactAdapter != null && mContactAdapter.getCursor() != null) mContactAdapter.getCursor().close(); Cursor contactCursor = runQuery(filterString); if (mContactAdapter == null) { mContactAdapter = new ContactAdapter(mContext, contactCursor); mFilter = mContactAdapter.getFilter(); mFilterList.setAdapter(mContactAdapter); } else { mContactAdapter.changeCursor(contactCursor); } } else { mFilter.filter(filterString); } }