2013-04-21 270 views
2

这里是我的代码:如何使Android CheckBoxPreference不可点击?

<PreferenceCategory 
    android:summary="Fade information" 
    android:title="Fade Effects"> 

    <CheckBoxPreference 
    android:title="Fade In/Out" 
      android:defaultValue="false"   
      android:key="fadeIn"/> 

    <CheckBoxPreference 
    android:title="Heartbeat" 
      android:defaultValue="false" 
      android:key="heartbeat" /> 

    <CheckBoxPreference 
    android:title="Pulse" 
      android:defaultValue="false"    
      android:key="pulse" /> 

    <CheckBoxPreference 
    android:title="None" 
      android:defaultValue="true" 
      android:key="none" /> 
</PreferenceCategory> 

基本上,我试图找出如何使这些的CheckBox出现,因为他们,而是让他们无法点击用户。

回答

1

在您的XML中使用android:enabled="false",或在Java代码中使用setEnabled()

+0

非常感谢。 – SynGT 2013-04-21 23:34:38

6

使用android:enabled="false"是不正确的,因为这实际上完全禁用了View(它也灰显了这是主要问题)。你想要做的,而不是什么是:

android:clickable="false"

这只是停止用户点击View但不正式“禁用”它。我认为这更符合你的需求。

+0

可点击为false对偏好没有任何影响。 – Sagar 2017-08-26 15:24:08

+0

[CheckBoxPreference']上没有'android:clickable'属性(https://developer.android.com/reference/android/preference/CheckBoxPreference.html),这就是这个问题的意思。 – CommonsWare 2017-08-26 15:28:31

0

如果您不希望灰显CheckboxPreference,则可以在xml中使用android:selectable="false"