Android: Fragmento de preferencia con un fragmento de cajón de navegación

Hola Tengo una aplicación de Android que ya utiliza un cajón de navegación. Mi MainActivity extiende Fragment Activity y mi SettingFragment extends PreferenceFragment

Configuración Fragmento :

public class SettingsFragment extends PreferenceFragment { public SettingsFragment() {} @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.prefs); } } 

Y mi MainActivity :

 PreferenceFragment preferenceFragment = new SettingsFragment(); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.add(android.R.id.content, preferenceFragment); // I'm getting an error here should be Fragment not PreferenceFragment ft.commit(); 

¿Cómo puedo confirmar o ir al SettingsFragment ()?

Esto funcionó para mí. Sólo tenga en cuenta que este código funcionará con api leval 11 y superior.

En Actividad utilice este código para agregar Fragmento.

 android.app.Fragment infoFragment = new InfoFragment(); FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.add(android.R.id.content, infoFragment); ft.commit(); 

Y tu clase PreferenceFragment será así.

 public class InfoFragment extends PreferenceFragment { /** * The fragment argument representing the section number for this * fragment. */ private static final String ARG_SECTION_NUMBER = "section_number"; /** * Returns a new instance of this fragment for the given section * number. */ public static android.app.Fragment newInstance(int sectionNumber) { InfoFragment fragment = new InfoFragment(); Bundle args = new Bundle(); args.putInt(ARG_SECTION_NUMBER, sectionNumber); fragment.setArguments(args); return fragment; } public InfoFragment() { } } 

Envuelva su actual PreferenceFragment con un fragmento simple que hace noting pero abre prefenceFragment como sigue

 public class SettingsActivity extends Fragment { @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getActivity().getFragmentManager().beginTransaction() .replace(android.R.id.content, new MyPreferenceFragment()) .commit(); } private class SettingsFragment extends PreferenceFragment { public SettingsFragment() {} @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.prefs); } } } 

Qué tal esto:

 Fragment preferenceFragment = new SettingsFragment(); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.add(android.R.id.content, preferenceFragment); ft.commit(); 
  • No se puede bloquear el evento de clic de botón de inicio de la barra de herramientas
  • ¿Cómo implementar el cajón de navegación androide expandible con subitems?
  • ¿Cómo configurar el color / estilo personalizado de ActionBar?
  • El cajón de navegación se cierra al hacer clic
  • FindViewById (int) en Activity no se puede aplicar a (int, android.support.v7.widget.Toolbar
  • Botón de alternancia en el cajón de navegación
  • El cajón de navegación en android no está en pantalla completa
  • Cómo hacer que la actividad de fondo sea más pequeña al abrir el cajón de navegación?
  • ¿Cómo añado iconos a la plantilla de gavetas de navegación de Android Studio?
  • ¿Cómo agregar el indicador de "menú" junto al icono de la aplicación de Barra de Acción?
  • Android 5.0 - Animar el AppCompat v7 21 icono de inicio de la hamburguesa a la flecha hacia atrás mediante programación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.