Most visited

Recently visited

PreferenceGroup

public abstract class PreferenceGroup
extends Preference

java.lang.Object
   ↳ android.support.v7.preference.Preference
     ↳ android.support.v7.preference.PreferenceGroup
Known Direct Subclasses


A container for multiple Preference objects. It is a base class for Preference objects that are parents, such as PreferenceCategory and PreferenceScreen.

Developer Guides

For information about building a settings UI with Preferences, read the Settings guide.

Summary

Nested classes

interface PreferenceGroup.PreferencePositionCallback

Interface for PreferenceGroup Adapters to implement so that scrollToPreference(String) and scrollToPreference(Preference) or scrollToPreference(String) and scrollToPreference(Preference) can determine the correct scroll position to request. 

Inherited constants

From class android.support.v7.preference.Preference

Public constructors

PreferenceGroup(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
PreferenceGroup(Context context, AttributeSet attrs, int defStyleAttr)
PreferenceGroup(Context context, AttributeSet attrs)

Public methods

void addItemFromInflater(Preference preference)

Called by the inflater to add an item to this group.

boolean addPreference(Preference preference)

Adds a Preference at the correct position based on the preference's order.

Preference findPreference(CharSequence key)

Finds a Preference based on its key.

Preference getPreference(int index)

Returns the Preference at a particular index.

int getPreferenceCount()

Returns the number of children Preferences.

boolean isOrderingAsAdded()

Whether this group is ordering preferences in the order they are added.

void notifyDependencyChange(boolean disableDependents)

Notifies any listening dependents of a change that affects the dependency.

void onAttached()

Called when the Preference hierarchy has been attached to the list of preferences.

void onDetached()

Called when the Preference hierarchy has been detached from the list of preferences.

void removeAll()

Removes all Preferences from this group.

boolean removePreference(Preference preference)

Removes a Preference from this group.

void setOrderingAsAdded(boolean orderingAsAdded)

Whether to order the Preference children of this group as they are added.

Protected methods

void dispatchRestoreInstanceState(Bundle container)

Called by restoreHierarchyState(Bundle) to retrieve the saved state for this Preference and its children.

void dispatchSaveInstanceState(Bundle container)

Called by saveHierarchyState(Bundle) to store the instance for this Preference and its children.

boolean isOnSameScreenAsChildren()

Whether this preference group should be shown on the same screen as its contained preferences.

boolean onPrepareAddPreference(Preference preference)

Prepares a Preference to be added to the group.

Inherited methods

From class android.support.v7.preference.Preference
From class java.lang.Object
From interface java.lang.Comparable

Public constructors

PreferenceGroup

PreferenceGroup (Context context, 
                AttributeSet attrs, 
                int defStyleAttr, 
                int defStyleRes)

Parameters
context Context
attrs AttributeSet
defStyleAttr int
defStyleRes int

PreferenceGroup

PreferenceGroup (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context
attrs AttributeSet
defStyleAttr int

PreferenceGroup

PreferenceGroup (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

Public methods

addItemFromInflater

void addItemFromInflater (Preference preference)

Called by the inflater to add an item to this group.

Parameters
preference Preference

addPreference

boolean addPreference (Preference preference)

Adds a Preference at the correct position based on the preference's order.

Parameters
preference Preference: The preference to add.
Returns
boolean Whether the preference is now in this group.

findPreference

Preference findPreference (CharSequence key)

Finds a Preference based on its key. If two Preference share the same key (not recommended), the first to appear will be returned (to retrieve the other preference with the same key, call this method on the first preference). If this preference has the key, it will not be returned.

This will recursively search for the preference into children that are also PreferenceGroups.

Parameters
key CharSequence: The key of the preference to retrieve.
Returns
Preference The Preference with the key, or null.

getPreference

Preference getPreference (int index)

Returns the Preference at a particular index.

Parameters
index int: The index of the Preference to retrieve.
Returns
Preference The Preference.

getPreferenceCount

int getPreferenceCount ()

Returns the number of children Preferences.

Returns
int The number of preference children in this group.

isOrderingAsAdded

boolean isOrderingAsAdded ()

Whether this group is ordering preferences in the order they are added.

Returns
boolean Whether this group orders based on the order the children are added.

See also:

notifyDependencyChange

void notifyDependencyChange (boolean disableDependents)

Notifies any listening dependents of a change that affects the dependency.

Parameters
disableDependents boolean: Whether this Preference should disable its dependents.

onAttached

void onAttached ()

Called when the Preference hierarchy has been attached to the list of preferences. This can also be called when this Preference has been attached to a group that was already attached to the list of preferences.

onDetached

void onDetached ()

Called when the Preference hierarchy has been detached from the list of preferences. This can also be called when this Preference has been removed from a group that was attached to the list of preferences.

removeAll

void removeAll ()

Removes all Preferences from this group.

removePreference

boolean removePreference (Preference preference)

Removes a Preference from this group.

Parameters
preference Preference: The preference to remove.
Returns
boolean Whether the preference was found and removed.

setOrderingAsAdded

void setOrderingAsAdded (boolean orderingAsAdded)

Whether to order the Preference children of this group as they are added. If this is false, the ordering will follow each Preference order and default to alphabetic for those without an order.

If this is called after preferences are added, they will not be re-ordered in the order they were added, hence call this method early on.

Parameters
orderingAsAdded boolean: Whether to order according to the order added.

See also:

Protected methods

dispatchRestoreInstanceState

void dispatchRestoreInstanceState (Bundle container)

Called by restoreHierarchyState(Bundle) to retrieve the saved state for this Preference and its children. May be overridden to modify how restoring happens to the children of a Preference. For example, some Preference objects may not want to save state for their children.

Parameters
container Bundle: The Bundle that holds the previously saved state.

dispatchSaveInstanceState

void dispatchSaveInstanceState (Bundle container)

Called by saveHierarchyState(Bundle) to store the instance for this Preference and its children. May be overridden to modify how the save happens for children. For example, some Preference objects may want to not store an instance for their children.

Parameters
container Bundle: The Bundle in which to save the instance of this Preference.

isOnSameScreenAsChildren

boolean isOnSameScreenAsChildren ()

Whether this preference group should be shown on the same screen as its contained preferences.

Returns
boolean True if the contained preferences should be shown on the same screen as this preference.

onPrepareAddPreference

boolean onPrepareAddPreference (Preference preference)

Prepares a Preference to be added to the group.

Parameters
preference Preference: The preference to add.
Returns
boolean Whether to allow adding the preference (true), or not (false).

Hooray!