Hallo Leute,
ich habe eine Textbox mit AutoComplete realisiert. Die Anwender geben einen Teil des Kundennamens ein und die App zeigt die Treffer aus der Datenbank an.
Teilweise kommt es bei den Benutzern meiner App zu folgender Exception:
Java
java.util.ConcurrentModificationException
at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:569)
at
xxxxxx.Adapter.KundeAutoCompleteAdapter$1.publishResults(KundeAutoCompleteAdapter.java:156)
at android.widget.Filter$ResultsHandler.handleMessage(Filter.java:282)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4921)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
at dalvik.system.NativeStart.main(Native Method)
Alles anzeigen
In dem ArrayAdapter kommt in der 7. Zeile sporadisch die oben stehende Exception:
Java
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
List<KundeModel> filterList = (ArrayList<KundeModel>) results.values;
if (results != null && results.count > 0) {
clear();
for (KundeModel kunde : filterList) {
add(kunde);
notifyDataSetChanged();
}
}
}
Alles anzeigen
Kann mir jemand sagen, was genau zu der Exception führt? Muss das notfiyDataSetChanged unter die Schleife?
Gruß hs1