У вас всегда будет ошибка, как сейчас. Если вы измените эту строку
letterBtn = (Button)letterInf.inflate(R.layout.letter, parent, false);
до
convertView =letterInf.inflate(R.layout.letter, parent, false);
у вас все еще будет ошибка в этой (letterBtn = (Button) convertView
) точке. Потому что вы не можете разыграть ConstraintLayout в Button .
Если вы хотите восстановить свою кнопку, просто дайте ей идентификатор, подобный этому android:id="@+id/my_button_id"
, а затем, надуйте его в своем коде Java следующим образом:
convertView =letterInf.inflate(R.layout.letter, parent, false);
letterBtn = (Button)convertView.findViewById(R.id.my_button_id);
таким образом у вас будет доступ к вашей кнопке в вашем коде.
Сердечно,
Матье
РЕДАКТИРОВАТЬ: Кстати, ваш код выглядит внутри адаптера. Какой смысл в этом. Меня немного смущает тот факт, что вы возвращаете только свою кнопку.