Header-Ansicht kann nicht zur Liste hinzugefügt werden - setAdapter wurde bereits aufgerufen

Ich habe ein Edittext-Feld und eine Schaltfläche "Suchen". Wenn ich auf Suche klicke, muss ich eine Listenansicht mit Daten anzeigen, die den im Edittext eingegebenen Werten entsprechen. Ich habe meiner Liste mit addHeader () einen Header hinzugefügt. Wenn ich das erste Mal suche, kann ich die Daten in der Liste erfolgreich anzeigen. Wenn ich jedoch erneut suche, wird der folgende Fehler angezeigt.

FATAL EXCEPTION: main
java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called.
at android.widget.ListView.addHeaderView(ListView.java:261)
at android.widget.ListView.addHeaderView(ListView.java:284)

Ich habe meiner Liste einen Header zugewiesen, bevor ich den Adapter einstelle.

Unten ist mein Code:

myList = (ListView) findViewById(R.id.searchResultsList);
View header = View.inflate(this, R.layout.search_results_header, null);
myList.addHeaderView(header, null, false);

dataAdapter = new MyCustomAdapter(this, R.layout.results_list_item, searchedResults);
myList.setAdapter(dataAdapter);

Wo mache ich falsch?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage