belongs to Maven artifact com.android.support:preference-leanback-v17:28.0.0-alpha1
LeanbackSettingsFragment
  public
  
  
  abstract
  class
  LeanbackSettingsFragment
  
  
  
  
    extends Fragment
  
  
  
  
  
      implements
      
        PreferenceFragment.OnPreferenceStartFragmentCallback, 
      
        PreferenceFragment.OnPreferenceStartScreenCallback, 
      
        PreferenceFragment.OnPreferenceDisplayDialogCallback
      
  
  
| java.lang.Object | ||
| ↳ | android.app.Fragment | |
| ↳ | android.support.v17.preference.LeanbackSettingsFragment | |
This fragment provides a container for displaying a LeanbackPreferenceFragment
 
The following sample code shows a simple leanback preference fragment that is populated from a resource. The resource it loads is:
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:title="@string/root_title">
    <Preference
        android:key="basic_preference"
        android:title="@string/title_basic_preference"
        android:summary="@string/summary_basic_preference" />
    <Preference
        android:key="stylish_preference"
        android:title="@string/title_stylish_preference"
        android:summary="@string/summary_stylish_preference" />
    <Preference
        android:key="preference_with_icon"
        android:title="Preference with icon"
        android:summary="This preference has an icon"
        android:icon="@android:drawable/ic_menu_camera" />
    <PreferenceCategory
        android:title="@string/inline_preferences">
        <CheckBoxPreference
            android:key="checkbox_preference"
            android:title="@string/title_checkbox_preference"
            android:summary="@string/summary_checkbox_preference" />
        <SwitchPreference
            android:key="switch_preference"
            android:title="Switch preference"
            android:summary="This is a switch" />
        <DropDownPreference
            android:key="dropdown_preference"
            android:title="@string/title_dropdown_preference"
            android:summary="@string/summary_dropdown_preference"
            android:entries="@array/entries_list_preference"
            android:entryValues="@array/entryvalues_list_preference" />
    </PreferenceCategory>
    <PreferenceCategory
        android:title="@string/dialog_based_preferences">
        <EditTextPreference
            android:key="edittext_preference"
            android:title="@string/title_edittext_preference"
            android:summary="@string/summary_edittext_preference"
            android:dialogTitle="@string/dialog_title_edittext_preference" />
        <ListPreference
            android:key="list_preference"
            android:title="@string/title_list_preference"
            android:summary="@string/summary_list_preference"
            android:entries="@array/entries_list_preference"
            android:entryValues="@array/entryvalues_list_preference"
            android:dialogTitle="@string/dialog_title_list_preference" />
        <MultiSelectListPreference
            android:key="multi_select_list_preference"
            android:title="@string/title_multi_list_preference"
            android:summary="@string/summary_multi_list_preference"
            android:entries="@array/entries_list_preference"
            android:entryValues="@array/entryvalues_list_preference"
            android:dialogTitle="@string/dialog_title_multi_list_preference" />
    </PreferenceCategory>
    <PreferenceCategory
        android:title="@string/launch_preferences">
        <!-- This PreferenceScreen tag serves as a screen break (similar to page break
             in word processing). Like for other preference types, we assign a key
             here so it is able to save and restore its instance state. -->
        <PreferenceScreen
            android:key="screen_preference"
            android:title="@string/title_screen_preference"
            android:summary="@string/summary_screen_preference">
            <!-- You can place more preferences here that will be shown on the next screen. -->
            <CheckBoxPreference
                android:key="next_screen_checkbox_preference"
                android:title="@string/title_next_screen_toggle_preference"
                android:summary="@string/summary_next_screen_toggle_preference" />
        </PreferenceScreen>
        <PreferenceScreen
            android:title="@string/title_intent_preference"
            android:summary="@string/summary_intent_preference">
            <intent android:action="android.intent.action.VIEW"
                android:data="http://www.android.com" />
        </PreferenceScreen>
    </PreferenceCategory>
    <PreferenceCategory
        android:title="@string/preference_attributes">
        <CheckBoxPreference
            android:key="parent_checkbox_preference"
            android:title="@string/title_parent_preference"
            android:summary="@string/summary_parent_preference" />
        <!-- The visual style of a child is defined by this styled theme attribute. -->
        <CheckBoxPreference
            android:key="child_checkbox_preference"
            android:dependency="parent_checkbox_preference"
            android:layout="?android:attr/preferenceLayoutChild"
            android:title="@string/title_child_preference"
            android:summary="@string/summary_child_preference" />
    </PreferenceCategory>
</PreferenceScreen>The sample implements
 onPreferenceStartFragment(PreferenceFragment, Preference),
 onPreferenceStartScreen(PreferenceFragment, PreferenceScreen),
 and onPreferenceStartInitialScreen():
public static class SettingsFragment extends LeanbackSettingsFragment {
    @Override
    public void onPreferenceStartInitialScreen() {
        startPreferenceFragment(new PrefsFragment());
    }
    @Override
    public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) {
        final Fragment f =
                Fragment.instantiate(getActivity(), pref.getFragment(), pref.getExtras());
        f.setTargetFragment(caller, 0);
        if (f instanceof PreferenceFragment || f instanceof PreferenceDialogFragment) {
            startPreferenceFragment(f);
        } else {
            startImmersiveFragment(f);
        }
        return true;
    }
    @Override
    public boolean onPreferenceStartScreen(PreferenceFragment caller, PreferenceScreen pref) {
        final Fragment f = new PrefsFragment();
        final Bundle args = new Bundle(1);
        args.putString(PreferenceFragment.ARG_PREFERENCE_ROOT, pref.getKey());
        f.setArguments(args);
        startPreferenceFragment(f);
        return true;
    }
}
public static class PrefsFragment extends LeanbackPreferenceFragment {
    @Override
    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
        // Load the preferences from an XML resource
        setPreferencesFromResource(R.xml.preferences, rootKey);
    }
}Summary
| Inherited constants | 
|---|
|  From
  interface 
    android.content.ComponentCallbacks2
   | 
| Public constructors | |
|---|---|
| 
      LeanbackSettingsFragment()
       | |
| Public methods | |
|---|---|
| 
        
        
        
        
        
        View | 
      onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
       | 
| 
        
        
        
        
        
        void | 
      onPause()
       | 
| 
        
        
        
        
        
        boolean | 
      onPreferenceDisplayDialog(PreferenceFragment caller, Preference pref)
       | 
| 
        abstract
        
        
        
        
        void | 
      onPreferenceStartInitialScreen()
      Called to instantiate the initial  | 
| 
        
        
        
        
        
        void | 
      onResume()
       | 
| 
        
        
        
        
        
        void | 
      onViewCreated(View view, Bundle savedInstanceState)
       | 
| 
        
        
        
        
        
        void | 
      startImmersiveFragment(Fragment fragment)
      Displays a fragment to the user, temporarily replacing the contents of this fragment. | 
| 
        
        
        
        
        
        void | 
      startPreferenceFragment(Fragment fragment)
      Displays a preference fragment to the user. | 
| Inherited methods | |
|---|---|
|  From
class 
  
    android.app.Fragment
  
 | |
|  From
class 
  
    java.lang.Object
  
 | |
|  From
interface 
  
    android.content.ComponentCallbacks2
  
 | |
|  From
interface 
  
    android.view.View.OnCreateContextMenuListener
  
 | |
|  From
interface 
  
    android.support.v14.preference.PreferenceFragment.OnPreferenceStartFragmentCallback
  
 | |
|  From
interface 
  
    android.support.v14.preference.PreferenceFragment.OnPreferenceStartScreenCallback
  
 | |
|  From
interface 
  
    android.support.v14.preference.PreferenceFragment.OnPreferenceDisplayDialogCallback
  
 | |
|  From
interface 
  
    android.content.ComponentCallbacks
  
 | |
Public constructors
Public methods
onCreateView
View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
| Parameters | |
|---|---|
| inflater | LayoutInflater | 
| container | ViewGroup | 
| savedInstanceState | Bundle | 
| Returns | |
|---|---|
| View | |
onPause
void onPause ()
onPreferenceDisplayDialog
boolean onPreferenceDisplayDialog (PreferenceFragment caller, Preference pref)
| Parameters | |
|---|---|
| caller | PreferenceFragment | 
| pref | Preference | 
| Returns | |
|---|---|
| boolean | |
onPreferenceStartInitialScreen
void onPreferenceStartInitialScreen ()
Called to instantiate the initial PreferenceFragment
 to be shown in this fragment. Implementations are expected to call
 startPreferenceFragment(android.app.Fragment).
onResume
void onResume ()
onViewCreated
void onViewCreated (View view, Bundle savedInstanceState)
| Parameters | |
|---|---|
| view | View | 
| savedInstanceState | Bundle | 
startImmersiveFragment
void startImmersiveFragment (Fragment fragment)
Displays a fragment to the user, temporarily replacing the contents of this fragment.
| Parameters | |
|---|---|
| fragment | Fragment: Fragment instance to be added. | 
startPreferenceFragment
void startPreferenceFragment (Fragment fragment)
Displays a preference fragment to the user. This method can also be used to display list-style fragments on top of the stack of preference fragments.
| Parameters | |
|---|---|
| fragment | Fragment: Fragment instance to be added. | 
- Interfaces
- Classes- BaseLeanbackPreferenceFragment
- LeanbackListPreferenceDialogFragment
- LeanbackListPreferenceDialogFragment.AdapterMulti
- LeanbackListPreferenceDialogFragment.AdapterSingle
- LeanbackListPreferenceDialogFragment.ViewHolder
- LeanbackPreferenceDialogFragment
- LeanbackPreferenceFragment
- LeanbackSettingsFragment
- R
- R.anim
- R.animator
- R.attr
- R.bool
- R.color
- R.dimen
- R.drawable
- R.fraction
- R.id
- R.integer
- R.layout
- R.raw
- R.string
- R.style
- R.styleable
- R.transition
 
