Я создал макет, который содержит две кнопки, Next и Previous. Между кнопками я генерирую некоторые динамические представления. Поэтому, когда я впервые запускаю приложение, я хочу отключить кнопку «Назад», так как предыдущих просмотров не будет. Я также хочу отключить кнопку «Далее», когда больше нет просмотров для отображения. Есть ли вообще отключить кнопки?
371
Вы не можете включить или отключить его в своем XML (так как ваш макет установлен во время выполнения), но вы можете установить, если он активируется при запуске действия с
android:clickable
.источник
Вы просто пишете одну строку кода в своей деятельности
Когда вы хотите включить ту же кнопку просто напишите
источник
((Button)findViewById(R.id.mybutton)).setEnabled(false);
Да, это можно отключить в XML, просто используя:
источник
android:enabled
когда вы начинаете вводить его. (Даже по сей день.)setEnabled
работаетВ Java, если у вас есть ссылка на кнопку:
Чтобы включить / отключить кнопку, вы можете использовать:
Или:
Поскольку вы хотите отключить кнопку с самого начала, вы можете использовать button.setEnabled (false); в методе onCreate. В противном случае из XML вы можете напрямую использовать:
Так:
источник
В моем случае,
работает нормально и включает и отключает кнопку как надо. Но как только состояние кнопки становится отключенным, оно больше никогда не возвращается в включенное состояние, хотя оно и активируется. Я пытался сделать недействительным и обновить состояние рисования, но безуспешно.
Если у вас или у кого-то возникла похожая проблема, то для меня лучше всего установить фон для рисования. Работает на любом уровне API.
источник
В Kotlin, если вы ссылаетесь на представление кнопок с идентификатором, включите / отключите кнопку как
layout.xml
activity.kt
источник
сначала в xml сделать кнопку как
android:clickable="false"
затем в вашем коде, внутри
oncreate()
метода установите свойство кнопки какзатем внутри кнопки нажмите изменить код в
источник
НЕПРАВИЛЬНЫЙ СПОСОБ В СЛУШАТЕРЕ ИСПОЛЬЗОВАТЬ ПЕРЕМЕННЫЕ ВМЕСТО ПАРАМЕТРА !!!
ПРАВИЛЬНО:
РЕДАКТИРОВАТЬ: В ответ на @ jeroen-bollen
при щелчке по представлению объект класса View выполняет обратный вызов метода onClick (), отправляя как сам параметр, поэтому нулевой параметр представления не должен появляться, если он является ошибкой утверждения, это может произойти, например, когда класс объекта View был уничтожен за это время (для пример, собранный GC) или метод был подделан из-за взлома
немного о instanceof & null
три слова от автора
ЕСЛИ ты спрашиваешь, ПОЧЕМУ?
ЧТОБЫ ИЗБЕГАТЬ NullPointerException
Немного больше кода сэкономит ваше время на последующем отслеживании ошибок в вашем коде и уменьшит возникновение аномалий.
рассмотрим следующий пример:
источник
v
это не такButton
.С Kotlin вы можете сделать,
источник