Использование MergeAdapter; Поиск способа определения типа данных элемента списка в методе ListActivity onListItemClicked

Я использую MergeAdapter для создания разделенного списка, в котором каждый раздел списка содержит другой тип базовых данных. Все работает так, как ожидалось. Однако метод onListItemClicked ListActivity выглядит сложнее, чем когда-либо, когда дело доходит до определения типа данных, лежащих в основе выбранного элемента списка. Это так, потому что я не могу найти хороший способ определить тип объекта, который лежит в основе выбранного элемента, если я не сохраню отдельную карту позиции списка для типа объекта. Я надеялся, что могу использовать метод getItemViewType для возврата того же типа для похожих элементов, но если эти элементы находятся в отдельных разделах ListView, MergeAdapter возвращает значение типа, смещенное по местоположению раздела, то есть тот же Тип элемента в другом разделе списка получает другое значение типа. Я чувствую, что мне не хватает чего-то очевидного … Любая помощь, которую может предоставить любой человек, будет очень признательна.

Я использую MergeAdapter для создания разделенного списка, в котором каждый раздел списка содержит другой тип базовых данных.

На MergeAdapter проекта MergeAdapter отмечается: «Если у вас есть вопросы относительно использования этого кода, пожалуйста, присоединяйтесь к ним и попросите их в группе Google Android ».

К счастью для вас, я увидел ваш вопрос здесь.

Это так, потому что я не могу найти хороший способ определить тип объекта, который лежит в основе выбранного элемента, если я не сохраню отдельную карту позиции списка для типа объекта.

Вызовите getItem() в MergeAdapter чтобы получить фактический объект, затем используйте instanceof или используйте интерфейсы или что-то, чтобы найти подходящий тип для использования на самом объекте.