Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

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

Ответ 3

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

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

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

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

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

Ответ 4

чтобы рассказать о том, что сказал 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();
    }