PreferenceFragment

PreferenceFragment

Preference is frame of settting parameters. Basics is here
PreferenceFragment provides fragment(display) to manage settings.
There are 2 things to do is to create setting xml and small codes to make PreferenceFragment
We don’t care of creating special UI codes.

Steps

  1. Create Preference setting(xml)
  2. Prepare PreferenceFragment
  3. Call Preference from Activity

Create Preference setting(xml)

Prepare xml file under res/xml There isn’t folder by default, please make it.
Sample is here(setting_pref.xml)

<PreferenceScreen
        xmlns:android="http://schemas.android.com/apk/res/android">

    <PreferenceCategory
            android:title="@string/test_title">

        <CheckBoxPreference
                android:key="test"
                android:title="@string/test"
                android:summary="@string/summary_test" />

    </PreferenceCategory>
</PreferenceScreen>

This is easy sample. Add checkbox type UI

Prepare PreferenceFragment

Let’s make a class which extends PreferenceFragment. That’s a point.

public class SettingFragment extends PreferenceFragment 
{

	@Override
	public void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		addPreferencesFromResource(R.xml.setting_pref);
	}
}

Call Preference from Activity

Call from Activity. It’s just same as using Fragment.

public class PreferenceTestActivity extends Activity 
{

	@Override
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingFragment()).commit();
	}
}

Result

preference

Ref

Android-er
Google Developer