ExpandableListView и группы разных по типу объектов
Здравствуйте!
У меня в проекте есть (к примеру) 4 типа данных: стул, стол, диван, кушетка, все они наследники класса мебель. Нужно в одном окне отобразить список мебели, разделённый по группам(стулья, столы и тд). Для этого использую ExpandableListView, и расширяю BaseAdapter. До этого адаптер получал String и проблем не было(ну конечно). Теперь же, я хочу в этот один адаптер, отправлять списки объектов вышеупомянутых типов, обращаясь к которым, я смогу заполнять подгруппы. Т.е. выглядит вот так:
Стулья
стул 1
стул 2
Столы
стол 1
Диваны
диван 1
.... Когда использовал один тип данных делал вот так:
ArrayList<ArrayList<String>> groups = new ArrayList<>();
List<String> mChair= new ArrayList<>();
List<String> mTable= new ArrayList<>();
....
groups.add(mChair);
groups.add(mTable);
И groups в адаптер, вместе с контекстом.
И когда нужно было отобразить на экране:
groups.get(groupPosition).get(childPosition));
А как теперь отправить в адаптер списки объектов, и объединить их в группы.
Проще говоря, как мне отправить объекты разных типов в адаптер, и получить нужные данные из этих объектов для отображения в списке со своим list item`ом?