PreferenceFragment
abstract classPreferenceFragment: Fragment, PreferenceManager.OnPreferenceTreeClickListener, PreferenceManager.OnDisplayPreferenceDialogListener, PreferenceManager.OnNavigateToScreenListener, DialogPreference.TargetFragment
kotlin.Any | ||
↳ | android.app.Fragment | |
↳ | androidx.preference.PreferenceFragment |
Shows a hierarchy of Preference
objects as lists. These preferences will automatically save to android.content.SharedPreferences
as the user interacts with them. To retrieve an instance of android.content.SharedPreferences
that the preference hierarchy in this fragment will use, call PreferenceManager#getDefaultSharedPreferences(android.content.Context)
with a context in the same package as this fragment.
Furthermore, the preferences shown will follow the visual style of system preferences. It is easy to create a hierarchy of preferences (that can be shown on multiple screens) via XML. For these reasons, it is recommended to use this fragment (as a superclass) to deal with preferences in applications.
A PreferenceScreen
object should be at the top of the preference hierarchy. Furthermore, subsequent PreferenceScreen
in the hierarchy denote a screen break--that is the preferences contained within subsequent PreferenceScreen
should be shown on another screen. The preference framework handles this by calling onNavigateToScreen(PreferenceScreen)
.
The preference hierarchy can be formed in multiple ways:
Activities
that each specify its own preferences in an XML file via android.app.Activity
meta-data PreferenceScreen
To inflate from XML, use the addPreferencesFromResource(int)
. The root element should be a PreferenceScreen
. Subsequent elements can point to actual Preference
subclasses. As mentioned above, subsequent PreferenceScreen
in the hierarchy will result in the screen break.
To specify an object hierarchy rooted with PreferenceScreen
, use setPreferenceScreen(PreferenceScreen)
.
As a convenience, this fragment implements a click listener for any preference in the current hierarchy, see onPreferenceTreeClick(Preference)
.
Summary
Nested classes | |
---|---|
abstract |
Interface that the fragment's containing activity should implement to be able to process preference items that wish to display a dialog. |
abstract |
Interface that the fragment's containing activity should implement to be able to process preference items that wish to switch to a specified fragment. |
abstract |
Interface that the fragment's containing activity should implement to be able to process preference items that wish to switch to a new screen of preferences. |
Constants | |
---|---|
static String |
Fragment argument used to specify the tag of the desired root |
Public constructors | |
---|---|
<init>() Shows a hierarchy of |
Public methods | |
---|---|
open Unit |
addPreferencesFromResource(@XmlRes preferencesResId: Int) Inflates the given XML resource and adds the preference hierarchy to the current preference hierarchy. |
open T? |
findPreference(key: CharSequence) Finds a |
RecyclerView! | |
open PreferenceManager! |
Returns the |
open PreferenceScreen! |
Gets the root of the preference hierarchy that this fragment is showing. |
open Unit | |
open RecyclerView.LayoutManager! |
Called from |
abstract Unit |
onCreatePreferences(savedInstanceState: Bundle!, rootKey: String!) Called during |
open RecyclerView! |
onCreateRecyclerView(inflater: LayoutInflater!, parent: ViewGroup!, savedInstanceState: Bundle!) Creates the |
open View? |
onCreateView(inflater: LayoutInflater!, container: ViewGroup?, savedInstanceState: Bundle!) |
open Unit | |
open Unit |
onDisplayPreferenceDialog(preference: Preference!) Called when a preference in the tree requests to display a dialog. |
open Unit |
Called by |
open Boolean |
onPreferenceTreeClick(preference: Preference!) Called when a preference in the tree rooted at this |
open Unit |
onSaveInstanceState(outState: Bundle!) |
open Unit |
onStart() |
open Unit |
onStop() |
open Unit |
onViewCreated(view: View!, savedInstanceState: Bundle?) |
open Unit |
scrollToPreference(key: String!) |
open Unit |
scrollToPreference(preference: Preference!) |
open Unit |
setDivider(divider: Drawable!) Sets the |
open Unit |
setDividerHeight(height: Int) Sets the height of the divider that will be drawn between each item in the list. |
open Unit |
setPreferenceScreen(preferenceScreen: PreferenceScreen!) Sets the root of the preference hierarchy that this fragment is showing. |
open Unit |
setPreferencesFromResource(@XmlRes preferencesResId: Int, @Nullable key: String?) Inflates the given XML resource and replaces the current preference hierarchy (if any) with the preference hierarchy rooted at |
Protected methods | |
---|---|
open RecyclerView.Adapter<RecyclerView.ViewHolder!>! |
onCreateAdapter(preferenceScreen: PreferenceScreen!) Creates the root adapter. |
Constants
ARG_PREFERENCE_ROOT
static valARG_PREFERENCE_ROOT: String
Deprecated: Use PreferenceFragmentCompat
instead
Fragment argument used to specify the tag of the desired root PreferenceScreen
object.
Value: "androidx.preference.PreferenceFragmentCompat.PREFERENCE_ROOT"
Public constructors
<init>
PreferenceFragment()
Deprecated: Use PreferenceFragmentCompat
instead
Shows a hierarchy of Preference
objects as lists. These preferences will automatically save to android.content.SharedPreferences
as the user interacts with them. To retrieve an instance of android.content.SharedPreferences
that the preference hierarchy in this fragment will use, call PreferenceManager#getDefaultSharedPreferences(android.content.Context)
with a context in the same package as this fragment.
Furthermore, the preferences shown will follow the visual style of system preferences. It is easy to create a hierarchy of preferences (that can be shown on multiple screens) via XML. For these reasons, it is recommended to use this fragment (as a superclass) to deal with preferences in applications.
A PreferenceScreen
object should be at the top of the preference hierarchy. Furthermore, subsequent PreferenceScreen
in the hierarchy denote a screen break--that is the preferences contained within subsequent PreferenceScreen
should be shown on another screen. The preference framework handles this by calling onNavigateToScreen(PreferenceScreen)
.
The preference hierarchy can be formed in multiple ways:
Activities
that each specify its own preferences in an XML file via android.app.Activity
meta-data PreferenceScreen
To inflate from XML, use the addPreferencesFromResource(int)
. The root element should be a PreferenceScreen
. Subsequent elements can point to actual Preference
subclasses. As mentioned above, subsequent PreferenceScreen
in the hierarchy will result in the screen break.
To specify an object hierarchy rooted with PreferenceScreen
, use setPreferenceScreen(PreferenceScreen)
.
As a convenience, this fragment implements a click listener for any preference in the current hierarchy, see onPreferenceTreeClick(Preference)
.
See Also
Public methods
addPreferencesFromResource
open funaddPreferencesFromResource(@XmlRes preferencesResId: Int): Unit
Deprecated: Use PreferenceFragmentCompat
instead
Inflates the given XML resource and adds the preference hierarchy to the current preference hierarchy.
Parameters | |
---|---|
preferencesResId |