Referencia una pantalla de preferencias de Android separada desde dentro de otra pantalla de preferencias en XML

Tengo dos pantallas de preferencias de Android definidas en mi aplicación de Android en XML.

Por ejemplo, la pantalla 1

<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:key="screen1"> <PreferenceCategory android:title="Preferences"> <CheckBoxPreference android:defaultValue="true" android:title="test" android:key="test_pref"/> </PreferenceCategory> </PreferenceScreen> 

Y Pantalla 2

 <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:key="screen2"> <CheckBoxPreference android:key="checkbox" android:title="Checkbox"> </CheckBoxPreference> </PreferenceScreen> 

Quisiera que la pantalla 2 fuera una pantalla separada para ser accesible en su propio derecho pero también quisiera que sus preferencias fueran una parte de la pantalla uno también. ¿Hay una manera simple que puedo simplemente referenciar la pantalla 2 de dentro de la pantalla 1? O simplemente necesito repetir esencialmente la misma preferencia en una pantalla de subpreferencia en la pantalla 1.

No encontré una forma de "combinar" ambos archivos directamente en XML, pero podrías intentar fusionarlos usando Java:

 @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); getPreferenceManager().setSharedPreferencesName(Settings.PREFERENCES_NAME); getPreferenceManager().setSharedPreferencesMode(Context.MODE_WORLD_READABLE); // add the first xml addPreferencesFromResource(R.xml.preferences_settings); // add another xml addPreferencesFromResource(R.xml.preferences_mail_settings); // do the things, that need to be done... } 

Buena suerte

Tom

Puede hacerlo en XML con una intención:

 <PreferenceScreen android:key="screen1"> <PreferenceScreen android:key="screen2"> <intent android:action="com.example.PREFERENCE_2" /> </PreferenceScreen> </PreferenceScreen> 

AndroidManifest.xml:

 <activity android:name="com.example.Preference2Activity"> <intent-filter> <category android:name="android.intent.category.DEFAULT" /> <action android:name="com.example.PREFERENCE_2" /> </intent-filter> </activity> 
  • Tutorial en el analizador DOM
  • ¿Cómo puedo analizar un espacio de nombres con el analizador SAX?
  • Color del borde del botón de Android
  • Cómo mostrar íconos de elemento en la barra de herramientas Android
  • Obligar a un botón a permanecer en la parte inferior de la pantalla del teléfono
  • ¿Cómo uso los recursos predeterminados de Android en mi layout xml?
  • Vincular la vista personalizada de Android a una xml de diseño específico (¿es posible?)
  • Android: Caja blanca no deseada en la parte superior de la pantalla (barra de herramientas?)
  • Android: Lectura de XML desde un recurso local (para pruebas)
  • Cómo establecer la línea como un fondo utilizando xml (forma) a continuación para EditText?
  • Android: Ancho y altura del icono del iniciador en DP
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.