Skip to content

Most visited

Recently visited

navigation
added in version 24.1.0
belongs to Maven artifact com.android.support:preference-v7:27.0.0

PreferenceManager

public class PreferenceManager
extends Object

java.lang.Object
   ↳ android.support.v7.preference.PreferenceManager


Used to help create Preference hierarchies from activities or XML.

In most cases, clients should use addPreferencesFromResource(int), or addPreferencesFromResource(int).

See also:

Summary

Nested classes

interface PreferenceManager.OnDisplayPreferenceDialogListener

Interface definition for a class that will be called when a Preference requests to display a dialog. 

interface PreferenceManager.OnNavigateToScreenListener

Interface definition for a class that will be called when a PreferenceScreen requests navigation. 

interface PreferenceManager.OnPreferenceTreeClickListener

Interface definition for a callback to be invoked when a Preference in the hierarchy rooted at this PreferenceScreen is clicked. 

class PreferenceManager.PreferenceComparisonCallback

Callback class to be used by the RecyclerView.Adapter associated with the PreferenceScreen, used to determine when two Preference objects are semantically and visually the same. 

class PreferenceManager.SimplePreferenceComparisonCallback

A basic implementation of PreferenceManager.PreferenceComparisonCallback suitable for use with the default Preference classes. 

Constants

String KEY_HAS_SET_DEFAULT_VALUES

Public methods

PreferenceScreen createPreferenceScreen(Context context)
Preference findPreference(CharSequence key)

Finds a Preference based on its key.

Context getContext()

Returns the context.

static SharedPreferences getDefaultSharedPreferences(Context context)

Gets a SharedPreferences instance that points to the default file that is used by the preference framework in the given context.

PreferenceManager.OnDisplayPreferenceDialogListener getOnDisplayPreferenceDialogListener()
PreferenceManager.OnNavigateToScreenListener getOnNavigateToScreenListener()

Returns the PreferenceManager.OnNavigateToScreenListener, if one has been set.

PreferenceManager.OnPreferenceTreeClickListener getOnPreferenceTreeClickListener()
PreferenceManager.PreferenceComparisonCallback getPreferenceComparisonCallback()
PreferenceDataStore getPreferenceDataStore()

Returns the PreferenceDataStore associated with this manager or null if the default SharedPreferences are used instead.

PreferenceScreen getPreferenceScreen()

Returns the root of the preference hierarchy managed by this class.

SharedPreferences getSharedPreferences()

Gets a SharedPreferences instance that preferences managed by this will use.

int getSharedPreferencesMode()

Returns the current mode of the SharedPreferences file that preferences managed by this will use.

String getSharedPreferencesName()

Returns the current name of the SharedPreferences file that preferences managed by this will use.

boolean isStorageDefault()

Indicates if the storage location used internally by this class is the default provided by the hosting Context.

boolean isStorageDeviceProtected()

Indicates if the storage location used internally by this class is backed by device-protected storage.

static void setDefaultValues(Context context, String sharedPreferencesName, int sharedPreferencesMode, int resId, boolean readAgain)

Similar to setDefaultValues(Context, int, boolean) but allows the client to provide the filename and mode of the shared preferences file.

static void setDefaultValues(Context context, int resId, boolean readAgain)

Sets the default values from an XML preference file by reading the values defined by each Preference item's android:defaultValue attribute.

void setOnDisplayPreferenceDialogListener(PreferenceManager.OnDisplayPreferenceDialogListener onDisplayPreferenceDialogListener)
void setOnNavigateToScreenListener(PreferenceManager.OnNavigateToScreenListener listener)

Sets the callback to be invoked when a PreferenceScreen in the hierarchy rooted at this PreferenceManager is clicked.

void setOnPreferenceTreeClickListener(PreferenceManager.OnPreferenceTreeClickListener listener)

Sets the callback to be invoked when a Preference in the hierarchy rooted at this PreferenceManager is clicked.

void setPreferenceComparisonCallback(PreferenceManager.PreferenceComparisonCallback preferenceComparisonCallback)
void setPreferenceDataStore(PreferenceDataStore dataStore)

Sets a PreferenceDataStore to be used by all Preferences associated with this manager that don't have a custom PreferenceDataStore assigned via setPreferenceDataStore(PreferenceDataStore).

boolean setPreferences(PreferenceScreen preferenceScreen)

Sets the root of the preference hierarchy.

void setSharedPreferencesMode(int sharedPreferencesMode)

Sets the mode of the SharedPreferences file that preferences managed by this will use.

void setSharedPreferencesName(String sharedPreferencesName)

Sets the name of the SharedPreferences file that preferences managed by this will use.

void setStorageDefault()

Sets the storage location used internally by this class to be the default provided by the hosting Context.

void setStorageDeviceProtected()

Explicitly set the storage location used internally by this class to be device-protected storage.

void showDialog(Preference preference)

Called when a preference requests that a dialog be shown to complete a user interaction.

Inherited methods

From class java.lang.Object

Constants

KEY_HAS_SET_DEFAULT_VALUES

added in version 24.1.0
String KEY_HAS_SET_DEFAULT_VALUES

Constant Value: "_has_set_default_values"

Public methods

createPreferenceScreen

added in version 24.1.0
PreferenceScreen createPreferenceScreen (Context context)

Parameters
context Context

Returns
PreferenceScreen

findPreference

added in version 24.1.0
Preference findPreference (CharSequence key)

Finds a Preference based on its key.

Parameters
key CharSequence: The key of the preference to retrieve.

Returns
Preference The Preference with the key, or null.

See also:

getContext

added in version 24.1.0
Context getContext ()

Returns the context.

Returns
Context The context.

getDefaultSharedPreferences

added in version 24.1.0
SharedPreferences getDefaultSharedPreferences (Context context)

Gets a SharedPreferences instance that points to the default file that is used by the preference framework in the given context.

Parameters
context Context: The context of the preferences whose values are wanted.

Returns
SharedPreferences A SharedPreferences instance that can be used to retrieve and listen to values of the preferences.

getOnDisplayPreferenceDialogListener

added in version 24.1.0
PreferenceManager.OnDisplayPreferenceDialogListener getOnDisplayPreferenceDialogListener ()

Returns
PreferenceManager.OnDisplayPreferenceDialogListener

getOnNavigateToScreenListener

added in version 24.1.0
PreferenceManager.OnNavigateToScreenListener getOnNavigateToScreenListener ()

Returns the PreferenceManager.OnNavigateToScreenListener, if one has been set.

Returns
PreferenceManager.OnNavigateToScreenListener

getOnPreferenceTreeClickListener

added in version 24.1.0
PreferenceManager.OnPreferenceTreeClickListener getOnPreferenceTreeClickListener ()

Returns
PreferenceManager.OnPreferenceTreeClickListener

getPreferenceComparisonCallback

added in version 25.1.0
PreferenceManager.PreferenceComparisonCallback getPreferenceComparisonCallback ()

Returns
PreferenceManager.PreferenceComparisonCallback

getPreferenceDataStore

added in version 26.1.0
PreferenceDataStore getPreferenceDataStore ()

Returns the PreferenceDataStore associated with this manager or null if the default SharedPreferences are used instead.

Returns
PreferenceDataStore The PreferenceDataStore associated with this manager or null if none.

See also:

getPreferenceScreen

added in version 24.1.0
PreferenceScreen getPreferenceScreen ()

Returns the root of the preference hierarchy managed by this class.

Returns
PreferenceScreen The PreferenceScreen object that is at the root of the hierarchy.

getSharedPreferences

added in version 24.1.0
SharedPreferences getSharedPreferences ()

Gets a SharedPreferences instance that preferences managed by this will use.

Returns
SharedPreferences a SharedPreferences instance pointing to the file that contain the values of preferences that are managed by this PreferenceManager. If a PreferenceDataStore has been set, this method returns null.

getSharedPreferencesMode

added in version 24.1.0
int getSharedPreferencesMode ()

Returns the current mode of the SharedPreferences file that preferences managed by this will use.

Returns
int The mode that can be passed to getSharedPreferences(String, int).

See also:

getSharedPreferencesName

added in version 24.1.0
String getSharedPreferencesName ()

Returns the current name of the SharedPreferences file that preferences managed by this will use.

Returns
String The name that can be passed to getSharedPreferences(String, int).

See also:

isStorageDefault

added in version 24.1.0
boolean isStorageDefault ()

Indicates if the storage location used internally by this class is the default provided by the hosting Context.

Returns
boolean

See also:

isStorageDeviceProtected

added in version 24.1.0
boolean isStorageDeviceProtected ()

Indicates if the storage location used internally by this class is backed by device-protected storage.

Returns
boolean

See also:

setDefaultValues

added in version 24.1.0
void setDefaultValues (Context context, 
                String sharedPreferencesName, 
                int sharedPreferencesMode, 
                int resId, 
                boolean readAgain)

Similar to setDefaultValues(Context, int, boolean) but allows the client to provide the filename and mode of the shared preferences file.

Parameters
context Context: The context of the shared preferences.

sharedPreferencesName String: A custom name for the shared preferences file.

sharedPreferencesMode int: The file creation mode for the shared preferences file, such as MODE_PRIVATE or MODE_PRIVATE

resId int: The resource ID of the preference XML file.

readAgain boolean: Whether to re-read the default values. If false, this method will set the default values only if this method has never been called in the past (or if the KEY_HAS_SET_DEFAULT_VALUES in the default value shared preferences file is false). To attempt to set the default values again bypassing this check, set readAgain to true.

Note: this will NOT reset preferences back to their default values. For that functionality, use getDefaultSharedPreferences(Context) and clear it followed by a call to this method with this parameter set to true.

See also:

setDefaultValues

added in version 24.1.0
void setDefaultValues (Context context, 
                int resId, 
                boolean readAgain)

Sets the default values from an XML preference file by reading the values defined by each Preference item's android:defaultValue attribute. This should be called by the application's main activity.

Parameters
context Context: The context of the shared preferences.

resId int: The resource ID of the preference XML file.

readAgain boolean: Whether to re-read the default values. If false, this method sets the default values only if this method has never been called in the past (or if the KEY_HAS_SET_DEFAULT_VALUES in the default value shared preferences file is false). To attempt to set the default values again bypassing this check, set readAgain to true.

Note: this will NOT reset preferences back to their default values. For that functionality, use getDefaultSharedPreferences(Context) and clear it followed by a call to this method with this parameter set to true.

setOnDisplayPreferenceDialogListener

added in version 24.1.0
void setOnDisplayPreferenceDialogListener (PreferenceManager.OnDisplayPreferenceDialogListener onDisplayPreferenceDialogListener)

Parameters
onDisplayPreferenceDialogListener PreferenceManager.OnDisplayPreferenceDialogListener

setOnNavigateToScreenListener

added in version 24.1.0
void setOnNavigateToScreenListener (PreferenceManager.OnNavigateToScreenListener listener)

Sets the callback to be invoked when a PreferenceScreen in the hierarchy rooted at this PreferenceManager is clicked.

Parameters
listener PreferenceManager.OnNavigateToScreenListener: The callback to be invoked.

setOnPreferenceTreeClickListener

added in version 24.1.0
void setOnPreferenceTreeClickListener (PreferenceManager.OnPreferenceTreeClickListener listener)

Sets the callback to be invoked when a Preference in the hierarchy rooted at this PreferenceManager is clicked.

Parameters
listener PreferenceManager.OnPreferenceTreeClickListener: The callback to be invoked.

setPreferenceComparisonCallback

added in version 25.1.0
void setPreferenceComparisonCallback (PreferenceManager.PreferenceComparisonCallback preferenceComparisonCallback)

Parameters
preferenceComparisonCallback PreferenceManager.PreferenceComparisonCallback

setPreferenceDataStore

added in version 26.1.0
void setPreferenceDataStore (PreferenceDataStore dataStore)

Sets a PreferenceDataStore to be used by all Preferences associated with this manager that don't have a custom PreferenceDataStore assigned via setPreferenceDataStore(PreferenceDataStore). Also if the data store is set, the child preferences won't use SharedPreferences as long as they are assigned to this manager.

Parameters
dataStore PreferenceDataStore: the PreferenceDataStore to be used by this manager

See also:

setPreferences

added in version 24.1.0
boolean setPreferences (PreferenceScreen preferenceScreen)

Sets the root of the preference hierarchy.

Parameters
preferenceScreen PreferenceScreen: The root PreferenceScreen of the preference hierarchy.

Returns
boolean Whether the PreferenceScreen given is different than the previous.

setSharedPreferencesMode

added in version 24.1.0
void setSharedPreferencesMode (int sharedPreferencesMode)

Sets the mode of the SharedPreferences file that preferences managed by this will use.

Parameters
sharedPreferencesMode int: The mode of the SharedPreferences file.

See also:

setSharedPreferencesName

added in version 24.1.0
void setSharedPreferencesName (String sharedPreferencesName)

Sets the name of the SharedPreferences file that preferences managed by this will use.

If custom PreferenceDataStore is set, this won't override its usage.

Parameters
sharedPreferencesName String: The name of the SharedPreferences file.

See also:

setStorageDefault

added in version 24.1.0
void setStorageDefault ()

Sets the storage location used internally by this class to be the default provided by the hosting Context.

setStorageDeviceProtected

added in version 24.1.0
void setStorageDeviceProtected ()

Explicitly set the storage location used internally by this class to be device-protected storage.

On devices with direct boot, data stored in this location is encrypted with a key tied to the physical device, and it can be accessed immediately after the device has booted successfully, both before and after the user has authenticated with their credentials (such as a lock pattern or PIN).

Because device-protected data is available without user authentication, you should carefully limit the data you store using this Context. For example, storing sensitive authentication tokens or passwords in the device-protected area is strongly discouraged.

Prior to API 24 this method has no effect, since device-protected storage is not available.

See also:

showDialog

added in version 24.1.0
void showDialog (Preference preference)

Called when a preference requests that a dialog be shown to complete a user interaction.

Parameters
preference Preference: The preference requesting the dialog.

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

Hooray!

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.
(Sep 2017 survey)