DropDownPreference

public class DropDownPreference
extends ListPreference

java.lang.Object
   ↳ androidx.preference.Preference
     ↳ androidx.preference.DialogPreference
       ↳ androidx.preference.ListPreference
         ↳ androidx.preference.DropDownPreference


A ListPreference that presents the options in a drop down menu rather than a dialog.

Summary

Inherited constants

Public constructors

DropDownPreference(Context context)
DropDownPreference(Context context, AttributeSet attrs)
DropDownPreference(Context context, AttributeSet attrs, int defStyle)
DropDownPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

Public methods

void onBindViewHolder(PreferenceViewHolder view)

Binds the created View to the data for this preference.

void setEntries(CharSequence[] entries)

Sets the human-readable entries to be shown in the list.

void setValueIndex(int index)

Sets the value to the given index from the entry values.

Protected methods

ArrayAdapter createAdapter()

By default, this class uses a simple ArrayAdapter.

void notifyChanged()

Should be called when the data of this Preference has changed.

void onClick()

Processes a click on the preference.

Inherited methods

Public constructors

public DropDownPreference (Context context)

Parameters
context Context

public DropDownPreference (Context context, 
                AttributeSet attrs)

Parameters
context Context

attrs AttributeSet

public DropDownPreference (Context context, 
                AttributeSet attrs, 
                int defStyle)

Parameters
context Context

attrs AttributeSet

defStyle int

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

Parameters
context Context

attrs AttributeSet

defStyleAttr int

defStyleRes int

Public methods

onBindViewHolder

public void onBindViewHolder (PreferenceViewHolder view)

Binds the created View to the data for this preference.

This is a good place to grab references to custom Views in the layout and set properties on them.

Make sure to call through to the superclass's implementation.

Parameters
view PreferenceViewHolder: The ViewHolder that provides references to the views to fill in. These views will be recycled, so you should not hold a reference to them after this method returns.

setEntries

public void setEntries (CharSequence[] entries)

Sets the human-readable entries to be shown in the list. This will be shown in subsequent dialogs.

Each entry must have a corresponding index in setEntryValues(CharSequence[]).

Parameters
entries CharSequence: The entries

setValueIndex

public void setValueIndex (int index)

Sets the value to the given index from the entry values.

Parameters
index int: The index of the value to set

Protected methods

createAdapter

protected ArrayAdapter createAdapter ()

By default, this class uses a simple ArrayAdapter. But if you need a more complicated adapter, this method can be overridden to create a custom one.

Note: This method is called from the constructor. Overridden methods will get called before any subclass initialization.

Returns
ArrayAdapter The custom ArrayAdapter that needs to be used with this class

notifyChanged

protected void notifyChanged ()

Should be called when the data of this Preference has changed.

onClick

protected void onClick ()

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.