Fehler beim Verwenden von notifyDataSetChanged im Android-Array-Adapter
11-06 19: 52: 25.958: E / AndroidRuntime (29609): java.lang.IllegalStateException: Der Inhalt des Adapters wurde geändert, ListView erhielt jedoch keine Benachrichtigung. Stellen Sie sicher, dass der Inhalt Ihres Adapters nicht über einen Hintergrundthread geändert wird, sondern nur über den UI-Thread. [in ListView (-1, Klasse android.widget.ListPopupWindow $ DropDownListView) mit Adapter (Klasse com.example.parkfoxxlight_android.PlacesAutoCompleteAdapter)]
Vollständiges Protokoll:http://pastebin.com/Hx7k28Rm
Vollständiger Code des Adapters:http://pastebin.com/TfH1bXE3 Ich benutze das Beispiel vonhttps://developers.google.com/places/training/autocomplete-android und es hat ganz den Standardcode, so dass es scheint, dass es einen Fehler im Google-Code gibt?
Die App stürzt nur manchmal mit der obigen Fehlermeldung ab.
protected void publishResults(CharSequence constraint,
FilterResults results) {
if (results != null && results.count > 0) {
notifyDataSetChanged();
} else {
notifyDataSetInvalidated();
}
}
Aktivitäthttp://pastebin.com/FYzYtvXY:
public class CityActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.city);
AutoCompleteTextView autoCompView = (AutoCompleteTextView) findViewById(R.id.autocomplete_city);
PlacesAutoCompleteAdapter ad = new PlacesAutoCompleteAdapter(this);
ProgressBar b = (ProgressBar)findViewById(R.id.progressBar1);
ad.setLoadingIndicator(b);
autoCompView.setAdapter(ad);
}
}
Irgendwelche Ideen, wie man das behebt? Ich bin auf Android 4.3.