Шаблон MVP, о котором вы говорите, на мой взгляд, лучший способ избежать загромождения вашей деятельности.
Убедитесь, что в xml помещено как можно больше элементов макета, например, отображаемые состояния для включенных, нажатые отключенные изображения или списки состояний цветов для включенных отключенных цветов.
Затем создайте действие, которое только создает экземпляр макета и передает события на правильные контроллеры для пакетов более низких уровней.
Если вам не нравится, как создаются специальные слушатели onlick (множество анонимных классов), посмотрите на ndroid: onclick , который позволяет вам указать, какой метод следует вызывать, если пользователь нажимает просматривать прямо в файле макета XML, как это делается в некоторых веб-инструментах.