Android APIs
public abstract class

TwoStatePreference

extends Preference
java.lang.Object
   ↳ android.preference.Preference
     ↳ android.preference.TwoStatePreference
Known Direct Subclasses

Class Overview

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.

Summary

[Expand]
Inherited XML Attributes
From class android.preference.Preference
[Expand]
Inherited Constants
From class android.preference.Preference
Public Constructors
TwoStatePreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
TwoStatePreference(Context context, AttributeSet attrs, int defStyleAttr)
TwoStatePreference(Context context, AttributeSet attrs)
TwoStatePreference(Context context)
Public Methods
boolean getDisableDependentsState()
Returns whether dependents are disabled when this preference is on (true) or when this preference is off (false).
CharSequence getSummaryOff()
Returns the summary to be shown when unchecked.
CharSequence getSummaryOn()
Returns the summary to be shown when checked.
boolean isChecked()
Returns the checked state.
void setChecked(boolean checked)
Sets the checked state and saves it to the SharedPreferences.
void setDisableDependentsState(boolean disableDependentsState)
Sets whether dependents are disabled when this preference is on (true) or when this preference is off (false).
void setSummaryOff(CharSequence summary)
Sets the summary to be shown when unchecked.
void setSummaryOff(int summaryResId)
void setSummaryOn(int summaryResId)
void setSummaryOn(CharSequence summary)
Sets the summary to be shown when checked.
boolean shouldDisableDependents()
Checks whether this preference's dependents should currently be disabled.
Protected Methods
void onClick()
Processes a click on the preference.
Object onGetDefaultValue(TypedArray a, int index)
Called when a Preference is being inflated and the default value attribute needs to be read.
void onRestoreInstanceState(Parcelable state)
Hook allowing a Preference to re-apply a representation of its internal state that had previously been generated by onSaveInstanceState().
Parcelable onSaveInstanceState()
Hook allowing a Preference to generate a representation of its internal state that can later be used to create a new instance with that same state.
void onSetInitialValue(boolean restoreValue, Object defaultValue)
Implement this to set the initial value of the Preference.
[Expand]
Inherited Methods
From class android.preference.Preference
From class java.lang.Object
From interface java.lang.Comparable

Public Constructors

public TwoStatePreference (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

Added in API level 21

Parameters
context
attrs
defStyleAttr
defStyleRes

public TwoStatePreference (Context context, AttributeSet attrs, int defStyleAttr)

Added in API level 14

Parameters
context
attrs
defStyleAttr

public TwoStatePreference (Context context, AttributeSet attrs)

Added in API level 14

Parameters
context
attrs

public TwoStatePreference (Context context)

Added in API level 14

Parameters
context

Public Methods

public boolean getDisableDependentsState ()

Added in API level 1

Returns whether dependents are disabled when this preference is on (true) or when this preference is off (false).

Returns
boolean Whether dependents are disabled when this preference is on (true) or when this preference is off (false).

public CharSequence getSummaryOff ()

Added in API level 1

Returns the summary to be shown when unchecked.

Returns
CharSequence The summary.

public CharSequence getSummaryOn ()

Added in API level 1

Returns the summary to be shown when checked.

Returns
CharSequence The summary.

public boolean isChecked ()

Added in API level 1

Returns the checked state.

Returns
boolean The checked state.

public void setChecked (boolean checked)

Added in API level 1

Sets the checked state and saves it to the SharedPreferences.

Parameters
checked The checked state.

public void setDisableDependentsState (boolean disableDependentsState)

Added in API level 1

Sets whether dependents are disabled when this preference is on (true) or when this preference is off (false).

Parameters
disableDependentsState The preference state that should disable dependents.

public void setSummaryOff (CharSequence summary)

Added in API level 1

Sets the summary to be shown when unchecked.

Parameters
summary The summary to be shown when unchecked.

public void setSummaryOff (int summaryResId)

Added in API level 1

Parameters
summaryResId The summary as a resource.

public void setSummaryOn (int summaryResId)

Added in API level 1

Parameters
summaryResId The summary as a resource.

public void setSummaryOn (CharSequence summary)

Added in API level 1

Sets the summary to be shown when checked.

Parameters
summary The summary to be shown when checked.

public boolean shouldDisableDependents ()

Added in API level 1

Checks whether this preference's dependents should currently be disabled.

Returns
boolean True if the dependents should be disabled, otherwise false.

Protected Methods

protected void onClick ()

Added in API level 1

Processes a click on the preference. This includes saving the value to the SharedPreferences. However, the overridden method should call callChangeListener(Object) to make sure the client wants to update the preference's state with the new value.

protected Object onGetDefaultValue (TypedArray a, int index)

Added in API level 1

Called when a Preference is being inflated and the default value attribute needs to be read. Since different Preference types have different value types, the subclass should get and return the default value which will be its value type.

For example, if the value type is String, the body of the method would proxy to getString(int).

Parameters
a The set of attributes.
index The index of the default value attribute.
Returns
Object The default value of this preference type.

protected void onRestoreInstanceState (Parcelable state)

Added in API level 1

Hook allowing a Preference to re-apply a representation of its internal state that had previously been generated by onSaveInstanceState(). This function will never be called with a null state.

Parameters
state The saved state that had previously been returned by onSaveInstanceState().

protected Parcelable onSaveInstanceState ()

Added in API level 1

Hook allowing a Preference to generate a representation of its internal state that can later be used to create a new instance with that same state. This state should only contain information that is not persistent or can be reconstructed later.

Returns
Parcelable A Parcelable object containing the current dynamic state of this Preference, or null if there is nothing interesting to save. The default implementation returns null.

protected void onSetInitialValue (boolean restoreValue, Object defaultValue)

Added in API level 1

Implement this to set the initial value of the Preference.

If restorePersistedValue is true, you should restore the Preference value from the SharedPreferences. If restorePersistedValue is false, you should set the Preference value to defaultValue that is given (and possibly store to SharedPreferences if shouldPersist() is true).

This may not always be called. One example is if it should not persist but there is no default value given.

Parameters
restoreValue True to restore the persisted value; false to use the given defaultValue.
defaultValue The default value for this Preference. Only use this if restorePersistedValue is false.