Używam ExpandableListView z niestandardowym adapterem, który rozszerza BaseExpandableListAdapter. Teraz chcę dodać nagłówek do tej rozwijanej listy, więc zamiast używać mojego apletu, aby uzyskać widok elementów, potrzebuję użyć tego "automatycznie" utworzonego z nagłówkiem, więc nie dostaję IndexOutOfBoundsExceptions, ponieważ teraz nagłówek to element na pozycji 0.pobierz oryginalny adapter z expandablelistview z nagłówkiem
W innych przypadkach, w których mój adapter nie był rozwijany, wystarczy zadzwonić do myList.getAdapter() i wszystko było ok, ale teraz potrzebuję uzyskać adapter, który rozszerza BaseExpandableListAdapter i nie mogę znaleźć sposobu, aby to zrobić.
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);
Na jakiś czas, muszę wywołać metodę getChildView dla myAdapter (rozciąga BaseExpandableListAdapter), ale nie można używać bezpośrednio myAdapter dlatego, że nie ma nagłówek. Muszę to zrobić na liście. Staram się robić to przez getWrappedAdapter
HeaderViewListAdapter headerAdapter = ((HeaderViewListAdapter) myList .getAdapter());
((MyAdapter) headerAdapter.getWrappedAdapter()).getChildView(0, i - 1, false, view, myList);
ale to daje mi ClassCastException, android.widget.ExpandableListConnector nie mogą być oddane do MyAdapter
Czy ktoś zna sposób, aby uzyskać oryginalny zasilacz za pośrednictwem wymienić metody?
Dziękuję
Dziękujemy! Nie widziałem ostrzeżenia i doprowadzałem się do szału używając drugiej przejściówki! – nirvik
Twoje powitanie! :) – petey
Niesamowite, długo drapałem się po głowie. Przesyłanie getAdapter() z moją niestandardową kartą nie powodowało problemu podczas korzystania z mojej niestandardowej funkcji 'add (CustomObject obj)', ale nie było odświeżania. Uratowałem mój dzień! –