Android 12 Developer Preview is here! Try it out, and give us your feedback!

Preference

open class Preference : Comparable<Preference!>
kotlin.Any
   ↳ androidx.preference.Preference

The basic building block that represents an individual setting displayed to a user in the preference hierarchy. This class provides the data that will be displayed to the user and has a reference to the SharedPreferences or PreferenceDataStore instance that persists the preference's values.

When specifying a preference hierarchy in XML, each element can point to a subclass of Preference, similar to the view hierarchy and layouts.

This class contains a key that that represents the key that is used to persist the value to the device. It is up to the subclass to decide how to store the value.

Summary

Nested classes
open

A base class for managing the instance state of a Preference.

abstract

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.

abstract

Interface definition for a callback to be invoked when a Preference is clicked.

abstract

Interface definition for a callback to be invoked when the summary of this Preference is requested (typically when this preference is added to the hierarchy or its value is updated).

Constants
static Int

Specify for setOrder(int) if a specific order is not required.

Public constructors
<init>(context: Context!, attrs: AttributeSet!, defStyleAttr: Int, defStyleRes: Int)

Perform inflation from XML and apply a class-specific base style.

<init>(context: Context!, attrs: AttributeSet!, defStyleAttr: Int)

Perform inflation from XML and apply a class-specific base style.

<init>(context: Context!, attrs: AttributeSet!)

Constructor that is called when inflating a preference from XML.

<init>(context: Context!)

Constructor to create a preference.

Public methods
open Boolean
callChangeListener(newValue: Any!)

Call this method after the user changes the preference, but before the internal state is set.

open Int
compareTo(@NonNull other: Preference)

Compares preference objects based on order (if set), otherwise alphabetically on the titles.

open Context!

Returns the Context of this preference.

open String!

Returns the key of the dependency on this preference.

open Bundle!

Return the extras Bundle object associated with this preference, creating a new Bundle if there currently isn't one.

open String!

Return the fragment class name associated with this preference.

open Drawable!

Returns the icon of this preference.

open Intent!

Return the