Android 是否可以使复选框/单选按钮不可选中?

Android 是否可以使复选框/单选按钮不可选中?,android,Android,我正在制作的程序有几个视图,在这些视图中,用户试图基本上计算出许多布尔值。听起来很奇怪,但我的意思是,我的设备将通过蓝牙连接到另一个设备,然后读取该设备的状态。我基本上显示了该设备当前状态的清单。因此,根据该设备正在执行的操作,会选中不同的复选框。有没有办法使所有复选框都不可选择 更好的是,有没有办法将其硬编码到XML文件中? <CheckBox android:id="@+id/blahblah" android:layout_width="wrap_co

我正在制作的程序有几个视图,在这些视图中,用户试图基本上计算出许多布尔值。听起来很奇怪,但我的意思是,我的设备将通过蓝牙连接到另一个设备,然后读取该设备的状态。我基本上显示了该设备当前状态的清单。因此,根据该设备正在执行的操作,会选中不同的复选框。有没有办法使所有复选框都不可选择

更好的是,有没有办法将其硬编码到XML文件中?


<CheckBox
        android:id="@+id/blahblah"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:enabled="false" />
在代码中,您可以调用
cbox.setChecked(布尔)

您是否考虑过在复选框中使用xml属性

从文件中:

定义此视图是否对单击事件作出反应

如果它不能对点击事件做出反应,那么它实际上是不可勾选的。

请检查以下内容:

您可以使用
复选框.setEnabled(false)
使其不可选择

在XML中试试这个:
android:enabled=“false”

它被认为是不推荐使用的,但可能会根据您的tragetsdk工作


希望有帮助

进一步阐述crocboy和nicholas.hauschild所说的话

在XML中设置此选项

    android:enabled="false" 
将使按钮/复选框变灰,以显示其已禁用

另一种方法是将其设置为:

    android:clickable="false"
这是一段代码,用来制作一个红色的单选按钮,当选中时(在代码中)它会变成绿色,但用户无法选中

    android:checked="false"
    android:textColor="#d1d2d4"
    android:buttonTint="#d1202d"
    android:textColorHighlight="#248d51"
    android:clickable="false"
下面是检查它的代码(这是使用JSON:所以它检查的是english==“yes”)


android:clickable和android:enabled之间有什么区别?
clickable
用于确定是否应将单击事件发送到
视图
<代码>启用在
视图
中定义,但由其子类解释。android:clickable和android:enabled之间有什么区别?
    String yes = "yes";
    if(yourObject.english.equals(yes)) {
        if (m_english.isChecked()) {/*do nothing */}
        else m_english.toggle();
    }