1e7841c012a02ac593533709f014632f35551e6fcTony Mantler/* 2e7841c012a02ac593533709f014632f35551e6fcTony Mantler * Copyright (C) 2016 The Android Open Source Project 3e7841c012a02ac593533709f014632f35551e6fcTony Mantler * 4e7841c012a02ac593533709f014632f35551e6fcTony Mantler * Licensed under the Apache License, Version 2.0 (the "License"); 5e7841c012a02ac593533709f014632f35551e6fcTony Mantler * you may not use this file except in compliance with the License. 6e7841c012a02ac593533709f014632f35551e6fcTony Mantler * You may obtain a copy of the License at 7e7841c012a02ac593533709f014632f35551e6fcTony Mantler * 8e7841c012a02ac593533709f014632f35551e6fcTony Mantler * http://www.apache.org/licenses/LICENSE-2.0 9e7841c012a02ac593533709f014632f35551e6fcTony Mantler * 10e7841c012a02ac593533709f014632f35551e6fcTony Mantler * Unless required by applicable law or agreed to in writing, software 11e7841c012a02ac593533709f014632f35551e6fcTony Mantler * distributed under the License is distributed on an "AS IS" BASIS, 12e7841c012a02ac593533709f014632f35551e6fcTony Mantler * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e7841c012a02ac593533709f014632f35551e6fcTony Mantler * See the License for the specific language governing permissions and 14e7841c012a02ac593533709f014632f35551e6fcTony Mantler * limitations under the License 15e7841c012a02ac593533709f014632f35551e6fcTony Mantler */ 16e7841c012a02ac593533709f014632f35551e6fcTony Mantler 17e7841c012a02ac593533709f014632f35551e6fcTony Mantlerpackage com.example.android.supportpreference; 18e7841c012a02ac593533709f014632f35551e6fcTony Mantler 19e7841c012a02ac593533709f014632f35551e6fcTony Mantlerimport android.app.Activity; 20e7841c012a02ac593533709f014632f35551e6fcTony Mantlerimport android.app.Fragment; 21e7841c012a02ac593533709f014632f35551e6fcTony Mantlerimport android.os.Bundle; 22e7841c012a02ac593533709f014632f35551e6fcTony Mantlerimport android.support.v14.preference.PreferenceFragment; 23e7841c012a02ac593533709f014632f35551e6fcTony Mantlerimport android.support.v7.preference.PreferenceScreen; 24e7841c012a02ac593533709f014632f35551e6fcTony Mantler 25e7841c012a02ac593533709f014632f35551e6fcTony Mantler/** 26e7841c012a02ac593533709f014632f35551e6fcTony Mantler * Demonstration of PreferenceFragment, showing a single fragment in an 27e7841c012a02ac593533709f014632f35551e6fcTony Mantler * activity. 28e7841c012a02ac593533709f014632f35551e6fcTony Mantler */ 29e7841c012a02ac593533709f014632f35551e6fcTony Mantlerpublic class FragmentSupportPreferences extends Activity 30e7841c012a02ac593533709f014632f35551e6fcTony Mantler implements PreferenceFragment.OnPreferenceStartScreenCallback { 31e7841c012a02ac593533709f014632f35551e6fcTony Mantler 32e7841c012a02ac593533709f014632f35551e6fcTony Mantler @Override 33e7841c012a02ac593533709f014632f35551e6fcTony Mantler protected void onCreate(Bundle savedInstanceState) { 34e7841c012a02ac593533709f014632f35551e6fcTony Mantler super.onCreate(savedInstanceState); 35e7841c012a02ac593533709f014632f35551e6fcTony Mantler 36e7841c012a02ac593533709f014632f35551e6fcTony Mantler // Display the fragment as the main content. 37fb54e4675fd5ab9ea7f03ac6c2eb37954f21beaeTony Mantler if (savedInstanceState == null) { 38fb54e4675fd5ab9ea7f03ac6c2eb37954f21beaeTony Mantler getFragmentManager().beginTransaction().replace(android.R.id.content, 39fb54e4675fd5ab9ea7f03ac6c2eb37954f21beaeTony Mantler new PrefsFragment()).commit(); 40fb54e4675fd5ab9ea7f03ac6c2eb37954f21beaeTony Mantler } 41e7841c012a02ac593533709f014632f35551e6fcTony Mantler } 42e7841c012a02ac593533709f014632f35551e6fcTony Mantler 43e7841c012a02ac593533709f014632f35551e6fcTony Mantler @Override 44e7841c012a02ac593533709f014632f35551e6fcTony Mantler public boolean onPreferenceStartScreen(PreferenceFragment caller, PreferenceScreen pref) { 45e7841c012a02ac593533709f014632f35551e6fcTony Mantler final Fragment f = new PrefsFragment(); 46e7841c012a02ac593533709f014632f35551e6fcTony Mantler final Bundle args = new Bundle(1); 47e7841c012a02ac593533709f014632f35551e6fcTony Mantler args.putString(PreferenceFragment.ARG_PREFERENCE_ROOT, pref.getKey()); 48e7841c012a02ac593533709f014632f35551e6fcTony Mantler f.setArguments(args); 49e7841c012a02ac593533709f014632f35551e6fcTony Mantler getFragmentManager().beginTransaction().replace(android.R.id.content, f) 50e7841c012a02ac593533709f014632f35551e6fcTony Mantler .addToBackStack(null) 51e7841c012a02ac593533709f014632f35551e6fcTony Mantler .commit(); 52e7841c012a02ac593533709f014632f35551e6fcTony Mantler return true; 53e7841c012a02ac593533709f014632f35551e6fcTony Mantler } 54e7841c012a02ac593533709f014632f35551e6fcTony Mantler 55e7841c012a02ac593533709f014632f35551e6fcTony Mantler //BEGIN_INCLUDE(support_fragment) 56e7841c012a02ac593533709f014632f35551e6fcTony Mantler public static class PrefsFragment extends PreferenceFragment { 57e7841c012a02ac593533709f014632f35551e6fcTony Mantler 58e7841c012a02ac593533709f014632f35551e6fcTony Mantler @Override 59e7841c012a02ac593533709f014632f35551e6fcTony Mantler public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { 60e7841c012a02ac593533709f014632f35551e6fcTony Mantler // Load the preferences from an XML resource 61e7841c012a02ac593533709f014632f35551e6fcTony Mantler setPreferencesFromResource(R.xml.preferences, rootKey); 62e7841c012a02ac593533709f014632f35551e6fcTony Mantler } 63e7841c012a02ac593533709f014632f35551e6fcTony Mantler } 64e7841c012a02ac593533709f014632f35551e6fcTony Mantler//END_INCLUDE(support_fragment) 65e7841c012a02ac593533709f014632f35551e6fcTony Mantler} 66