Татьяна
Просветленный
(36374)
1 год назад
Для решения задачи необходимо использовать Inline клавиатуру и кнопки, которые будут менять свои названия и иконки при нажатии на них. Для этого можно использовать метод editMessageReplyMarkup класса org.telegram.telegrambots.meta.api.methods.updatingmessages.EditMessageReplyMarkup. Этот метод позволяет изменять клавиатуру в реальном времени.
Для создания кнопок можно использовать класс InlineKeyboardButton из библиотеки TelegramBots. Кнопки могут содержать текст и иконки, которые можно менять при нажатии на них.
Чтобы отслеживать состояние кнопок, можно использовать переменные, которые будут менять свои значения при нажатии на кнопки. Например, можно создать массив boolean, где каждый элемент будет соответствовать одной кнопке. При нажатии на кнопку, соответствующий элемент массива меняет свое значение на противоположное.
Для добавления выбранных работников в список можно использовать класс ArrayList. При нажатии на кнопку, соответствующий элемент массива меняет свое значение на противоположное, и если значение стало true, то фамилия работника добавляется в список.
Сам код я выкладывать пока не буду. Только если ты сам этого попросишь.
Добрый день, знатоки. В общем у меня есть Inline клавиатура с фамилиями работников. Мне нужно, чтобы при нажатии на фамилию, в кнопке, рядом с фамилией появлялась галочка, говорящая о том, что человек выбран и убиралась, если нажать на кнопку еще раз. Условно, должна быть возможность выбрать хоть всех работников (при этом они должны попадать в список, который потом нужно будет вывести на экран). В общем, трудность состоит в том, что я не знаю, как сделать обновление клавиш Inline в реальном времени.