я сомневаюсь что девелопер будет кодить каждую кнопку, у которой различие будет только в id и тексте
Но в Layout же ее "накодили", и в чем проблема 22 раза скопировать "findViewById" и что там еще? Если его это шокирует, то писал бы плагин для IDE для автоматической генерации этого "findViewById", давным-давно пора, во всех нормальных GUI это автоматизировано, только в Android все по-дурацки, да разработчики из Microsoft кто создавал еще VB 6.0, в шоке были бы, узнав, что спустя двадцать лет будет платформа, где этого по-прежнему нет, и она одна из популярнейших.
А можно создать массив или список из ID, а далее цикл, меньше будет "копипасты" и больше гибкость.
Хотя, наверное, стоило изначально применить программное создание кнопок, в цикле, и каждой задать один и тот же
OnClickListener
.