Вопрос возник из-за того, что в методе chooseButton было несколько buttonListener, а при вызове одной из них, менялась boolean переменная и цвет Одной кнопки, потом программа должна была выйти из метода и напечатать End. Но случилось так, что программа прошла полностью метод chooseButton напечатала End, а когда я решил нажать на кнопки, то они обе поменяли свой цвет, хотя должна менять цвет лишь одна, и сработал вывод сообщения, хотя по-идее метод уже выполнился.
Так происходит потому, что слушатель кликов OnClickListener
вызывается системой и срабатывает по событию нажатия кнопки. После того, как вы привязали слушатель к виджету методом setOnClickListener()
он будет срабатывать при каждом нажатии на виджет. Это никак не зависит от завершения вашего собственного метода и будет действовать, пока виджет, к которому привязан слушатель находится на экране (и вы можете на него нажать), либо слушатель не будет явно отключен от этого виджета.
Если вы хотите, чтобы при завершении вашего метода кнопки перестали реагировать на клики, нужно отвязать от них слушатели кликов:
buttonA.setOnClickListener(null);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
При использовании менеджера компоновки FlowLayout можно удобно разместить элементы интерфейса в заданных размерах фреймаОднако, если в процессе...
Хотел бы понять как работает return, в принципе я понимаю как он работаетНо встал вопрос, в примере ниже я запускаю метод с пустым массивом, в методе...
У меня есть массив объектов, у них нет точного распорядка и идентификации , но мне нужно найти объект с определенным id и изменить в нем свойство...