ToggleButton isChecked и isActivated – Android

Я пытаюсь увидеть, какой метод виджета ToggleButton используется для проверки того, включено ли оно или выключено, и я не смог понять по ссылке, если это isChecked() или isActivated()

Каковы различия между ними?


person Niv    schedule 24.08.2012    source источник


Ответы (3)


Разница становится понятной из документации:

public boolean isActivated ()

является методом View и отвечает за предоставление базового состояния View. Здесь четкое описание того, что активация в терминах Android.

С другой стороны,

public boolean isChecked ()

является более высокоуровневым свойством другого объекта - CompoundButton и предоставляет его состояние - включено или выключено.

person sandrstar    schedule 24.08.2012
comment
Это даже не отвечает на вопрос, это просто ссылка на javadoc. - person Austyn Mahoney; 06.03.2013
comment
Иногда javadocs дают лучшие ответы. Кстати, я вообще не вижу твоего ответа. - person sandrstar; 06.03.2013

View.setActivated() говорит в JavaDoc, что активированное состояние не имеет ничего общего с CheckBox или ToggleButton, но с некоторым состоянием выбора, в котором может находиться общий View в ListView.

Разработчики даже извиняются за путаницу:

Гм, да, мы глубоко сожалеем о терминологии здесь

isActivated() также доступен только на уровнях API > 11.

isChecked() происходит от CompoundView, от которого происходят ToggleButton и CheckBox. Это состояние, которое вы хотите проверить. Он доступен на всех уровнях API.

person Austyn Mahoney    schedule 06.03.2013

используйте isChecked() для включения и выключения

if (isChecked()) {
        // The toggle is enabled  ON state
    } else {
        // The toggle is disabled  OFF state
    }

Насколько я знаю, для кнопки-переключателя нет метода isActivated(), он для view либо активен, либо нет.

person RajaReddy PolamReddy    schedule 24.08.2012