Можно ли отключить флажок / переключатель?

Программа, которую я создаю, имеет несколько представлений, в которых пользователь пытается в основном вычислить множество логических значений. Звучит странно, но я имею в виду, что мое устройство подключится к другому устройству через bluetooth, а затем прочитает статус этого устройства. Я в основном отображаю контрольный список текущего состояния этого устройства. Поэтому, в зависимости от того, что делает это устройство, проверяются разные флажки. Есть ли способ сделать все флажки недоступными?

Еще лучше, есть ли способ сделать это в XML-файле?

Solutions Collecting From Web of "Можно ли отключить флажок / переключатель?"

Считаете ли вы использование android:clickable на атрибут xml для ваших флажков?

Из документации:

Определяет, реагирует ли это мнение на события кликов.

Если он не может реагировать на события щелчка, то он фактически становится неконтролируемым.

 <CheckBox android:id="@+id/blahblah" android:layout_width="wrap_content" android:layout_height="wrap_content" android:enabled="false" /> 

И в вашем коде вы можете вызвать cbox.setChecked(boolean)

Проверьте это: http://developer.android.com/reference/android/widget/CheckBox.html

Вы можете использовать checkbox.setEnabled(false) чтобы сделать его невыбираемым.

Попробуйте это в своем XML: android:enabled="false"

Предполагается, что он устарел, но может работать в зависимости от вашего SDK.

Надеюсь, это поможет!

Чтобы расширить то, что сказал crocboy и nicholas.hauschild.

Установка этого в вас XML

  android:enabled="false" 

Сделает кнопку / флажок незаметной, чтобы показать, что она отключена

Другой способ сделать это – установить:

  android:clickable="false" 

Вот код, чтобы сделать RadioButton красным, который становится зеленым при проверке (в вашем коде), но не может быть проверен пользователем.

  android:checked="false" android:textColor="#d1d2d4" android:buttonTint="#d1202d" android:textColorHighlight="#248d51" android:clickable="false" 

И вот код, чтобы проверить его (это использует JSON: поэтому он проверяет, если английский == «да»)

  String yes = "yes"; if(yourObject.english.equals(yes)) { if (m_english.isChecked()) {/*do nothing */} else m_english.toggle(); }