Я пытаюсь увидеть, какой метод виджета ToggleButton используется для проверки того, включено ли оно или выключено, и я не смог понять по ссылке, если это isChecked()
или isActivated()
Каковы различия между ними?
Я пытаюсь увидеть, какой метод виджета ToggleButton используется для проверки того, включено ли оно или выключено, и я не смог понять по ссылке, если это isChecked()
или isActivated()
Каковы различия между ними?
Разница становится понятной из документации:
public boolean isActivated ()
является методом View и отвечает за предоставление базового состояния View. Здесь четкое описание того, что активация в терминах Android.
С другой стороны,
public boolean isChecked ()
является более высокоуровневым свойством другого объекта - CompoundButton и предоставляет его состояние - включено или выключено.
View.setActivated()
говорит в JavaDoc, что активированное состояние не имеет ничего общего с CheckBox
или ToggleButton
, но с некоторым состоянием выбора, в котором может находиться общий View
в ListView.
Разработчики даже извиняются за путаницу:
Гм, да, мы глубоко сожалеем о терминологии здесь
isActivated()
также доступен только на уровнях API > 11.
isChecked()
происходит от CompoundView
, от которого происходят ToggleButton
и CheckBox
. Это состояние, которое вы хотите проверить. Он доступен на всех уровнях API.
используйте isChecked()
для включения и выключения
if (isChecked()) {
// The toggle is enabled ON state
} else {
// The toggle is disabled OFF state
}
Насколько я знаю, для кнопки-переключателя нет метода isActivated()
, он для view
либо активен, либо нет.