ArrayAdapter - how do I stop getView calls?

Joeballs

New Member
How do I stop getView calls, until I call notifyDatasetChanged() again?My issue:I have a textfield that filters the adapter on textchange. If I change text too frequently I get ArrayIndexOutOfBoundsException, because getView is of course still accessing the list of the adapter while the seconding filtering operation is already running.So ATM it goes like this:[*]Filter in background + notifyDatasetChanged[*]GetView called multiple times[*]While the next filter is being processed, GetView is still being called in the background because of the first filter. But GetView gets exception because of list access (filtering operation changes list). So I want to stop GetView calls and THEN start any given filter operation.EDIT:i was thinking of returning from getview immediately if I see the filter thread is active?EDIT:OK relevant adapter code:\[code\]@Override protected FilterResults performFiltering(CharSequence constraint) { filterLock.acquireUninterruptibly(); FilterResults r = new FilterResults(); List<T> items = null; m_Filter = constraint; if (constraint == null /* TextUtils.isEmpty(constraint) */) { // AR // auskommentiert // da // ungew
 
Back
Top