How to enable / disable a Preference?
Solution 1
You can do that programatically or in .xml.
XML:
<EditTextPreference
android:enabled="false" >
</EditTextPreference>
Programmatically:
getPreferenceScreen().findPreference("yourpref").setEnabled(false);
From the Android Documentation:
"If disabled, the preference will not handle clicks."
Solution 2
Late answer but according to the comments on the accepted answer it seems like it was some confusion.
I do not agree that disabling is always the correct choice for non editable settings. For example in your Android settings: System -> About Phone -> Status information
there is information of about your phone. These are in the Settings list but are not editable, it is important information that might be necessary for the user. Since they are never editable from the settings page it is displayed as a normal Prefrence instead of a disabled EditTextPreference.
XML:
<Preference
android:key="username_pref"
android:title="Username" >
</Preference>
This will make you preference clickable but not editable.
Ankit Goyal
Updated on June 04, 2022Comments
-
Ankit Goyal about 2 years
I want to make my EditTextPreference not editable (as in, nothing happens when you click on the item in the Settings page). How do I do that?
Here is my code:
<PreferenceCategory android:title="My Account" > <EditTextPreference android:clickable="false" android:focusable="false" android:focusableInTouchMode="false" android:key="username_pref" android:summary=" " android:title="Username" > </EditTextPreference> </PreferenceCategory>