Вам нужен специальный адаптер для листа. Можно поступить как труЪ-программист - написать адаптер самому. Это совсем несложно - нужно наследоваться от BaseAdapter и реализовать, помимо стандартных, два метода, связанных с типами элементов листа: getItemViewType и getViewTypeCount. Типов элементов у вас может быть сколько угодно. Соответственно, в основном методе getView вы можете выбирать тот лэйаут, который соответствует типу запрашиваемого элемента.