2013-04-21 27 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"