Ich verwende ein ExpandableListView mit einem benutzerdefinierten Adapter, der BaseExpandableListAdapter erweitert. Jetzt möchte ich einen Header zu dieser erweiterbaren Liste hinzufügen, also anstatt mein Apapter zu verwenden, um die Ansicht der Elemente zu erhalten, muss ich die "automatisch" mit der Kopfzeile erstellt, so bekomme ich keine IndexOutOfBoundsExceptions, weil jetzt die header ist ein Element an der Position 0.ursprünglichen Adapter aus erweiterbaren Listview mit Header abrufen
In anderen Fällen, wo mein Adapter nicht erweiterbar war, muss ich nur myList.getAdapter() aufrufen und alles war in Ordnung, aber jetzt brauche ich den Adapter, der BaseExpandableListAdapter erweitert und ich kann den Weg nicht finden.
myList = (ExpandableListView)findViewById(R.id.my_list);
myList .setGroupIndicator(null);
myList .setOnGroupClickListener(this);
myList .setOnChildClickListener(this);
//add a header
View addSummaryLayout = View.inflate(this, R.layout.add_summary, null);
groupedMultimediaListView.addHeaderView(addSummaryLayout);
myAdapter = new MyAdapter (this, uploadingMedias);
myList .setAdapter(myAdapter);
Irgendwann muss ich für myAdapter die getChildView Methode aufzurufen (erweitert BaseExpandableListAdapter), aber ich kann nicht direkt myAdapter verwenden, da, dass man den Header nicht haben. Ich muss es über die Liste machen. Ich versuche, es durch die getWrappedAdapter
HeaderViewListAdapter headerAdapter = ((HeaderViewListAdapter) myList .getAdapter());
((MyAdapter) headerAdapter.getWrappedAdapter()).getChildView(0, i - 1, false, view, myList);
zu tun, aber es ist mir eine Classcast geben, android.widget.ExpandableListConnector kann nicht auf MyAdapter
gegossen werden Kennt jemand eine Möglichkeit, den Original-Adapter durch die bekommen Methoden auflisten?
Danke
Thank you! Ich hatte die Warnung nicht gesehen und machte mich wütend mit dem anderen Adapter! – nirvik
Ihre Begrüßung! :) – petey
Erstaunlich, kratzte ich meinen Kopf lange Zeit. Casting getAdapter() mit meinem benutzerdefinierten Adapter verursachte kein Problem bei der Verwendung meiner benutzerdefinierten Funktion 'add (CustomObject obj)', aber es wurde nicht aktualisiert. Habe meinen Tag gerettet! –