Подтвердить что ты не робот

Получить исходный адаптер из expandablelistview с заголовком

Я использую ExpandableListView с пользовательским адаптером, который расширяет BaseExpandableListAdapter. Теперь я хочу добавить заголовок в этот расширяемый список, поэтому вместо того, чтобы использовать мой адаптер, чтобы получить представление о элементах, мне нужно использовать тот, который "автоматически" создан с заголовком, поэтому я не получаю IndexOutOfBoundsExceptions, потому что теперь заголовок является элементом в позиции 0.

В других случаях, когда мой адаптер не был расширяемым, мне просто нужно вызвать myList.getAdapter(), и все было в порядке, но теперь мне нужно получить адаптер, расширяющий BaseExpandableListAdapter, и я не могу найти способ сделать это.

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 );

В какой-то момент мне нужно вызвать метод getChildView для myAdapter (расширяет BaseExpandableListAdapter), но я не могу использовать напрямую myAdapter, потому что у этого нет заголовка. Мне нужно сделать это через список. Я пытаюсь сделать это через getWrappedAdapter

HeaderViewListAdapter headerAdapter = ((HeaderViewListAdapter) myList .getAdapter());
((MyAdapter ) headerAdapter.getWrappedAdapter()).getChildView(0, i - 1, false, view, myList );

но он дает мне ClassCastException, android.widget.ExpandableListConnector не может быть добавлен в MyAdapter

Кто-нибудь знает, как получить исходный адаптер через методы списка?

Спасибо

4b9b3361

Ответ 1

Из docs,

public ListAdapter getAdapter ()

Added in API level 1
This method should not be used, use getExpandableListAdapter().

поэтому используйте getExpandableListAdapter(), а затем getChildView