Skip to content

Most visited

Recently visited

added in API level 1


Provides classes that manage application preferences and implement the preferences UI. Using these ensures that all the preferences within each application are maintained in the same manner and the user experience is consistent with that of the system and other applications.

The preferences portion of an application should be ran as a separate Activity that extends the PreferenceActivity class. In the PreferenceActivity, a PreferenceScreen object should be the root element of the layout. The PreferenceScreen contains Preference elements such as a CheckBoxPreference, EditTextPreference, ListPreference, PreferenceCategory, or RingtonePreference.

All settings made for a given Preference will be automatically saved to the application's instance of SharedPreferences. Access to the SharedPreferences is simple with getSharedPreferences().

Note that saved preferences are accessible only to the application that created them.


Preference.OnPreferenceChangeListener Interface definition for a callback to be invoked when the value of this Preference has been changed by the user and is about to be set and/or persisted. 
Preference.OnPreferenceClickListener Interface definition for a callback to be invoked when a Preference is clicked. 
PreferenceDataStore A data store interface to be implemented and provided to the Preferences framework. 
PreferenceFragment.OnPreferenceStartFragmentCallback This interface was deprecated in API level P. Use PreferenceFragmentCompat.OnPreferenceStartFragmentCallback  
PreferenceManager.OnActivityDestroyListener Interface definition for a class that will be called when the container's activity is destroyed. 
PreferenceManager.OnActivityResultListener Interface definition for a class that will be called when the container's activity receives an activity result. 
PreferenceManager.OnActivityStopListener Interface definition for a class that will be called when the container's activity is stopped. 


CheckBoxPreference A Preference that provides checkbox widget functionality. 
DialogPreference A base class for Preference objects that are dialog-based. 
EditTextPreference A Preference that allows for string input. 
ListPreference A Preference that displays a list of entries as a dialog. 
MultiSelectListPreference A Preference that displays a list of entries as a dialog. 
Preference Represents the basic Preference UI building block displayed by a PreferenceActivity in the form of a ListView
Preference.BaseSavedState A base class for managing the instance state of a Preference
PreferenceActivity This is the base class for an activity to show a hierarchy of preferences to the user. 
PreferenceActivity.Header Description of a single Header item that the user can select. 
PreferenceCategory Used to group Preference objects and provide a disabled title above the group. 
PreferenceFragment This class was deprecated in API level P. Use PreferenceFragmentCompat  
PreferenceGroup A container for multiple Preference objects. 
PreferenceManager Used to help create Preference hierarchies from activities or XML. 
PreferenceScreen Represents a top-level Preference that is the root of a Preference hierarchy. 
RingtonePreference A Preference that allows the user to choose a ringtone from those on the device. 
SwitchPreference A Preference that provides a two-state toggleable option. 
TwoStatePreference Common base class for preferences that have two selectable states, persist a boolean value in SharedPreferences, and may have dependent preferences that are enabled/disabled based on the current state. 
This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields


Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)