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
- Android define la forma XML como dibujable mediante programación
- Simple XML Serializer no puede satisfacer el elemento
- La diferencia entre: SAX Parser, XPath, DOM, XMLPullParser
- XML dentro de un recurso de cadena de Android?
- ListFragment Layout desde xml
<?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.
- Cómo subrayar el texto del botón en Android?
- Establecer el estilo de fuente en negrita del menú de la barra de herramientas appcompat
- Diseño de notificaciones personalizadas de Android con RemoteViews
- Android forma xml dibujable - cómo dibujar un formulario u?
- El diseño de Xml cambia al cambiar la orientación
- El fondo xml no cambia cuando uso la tableta
- Texto del botón que no consigue centrado verticalmente en botón
- Problema al analizar cadena xml en java
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>
- Mejores prácticas al pedir a los equipos gráficos que diseñen la interfaz de usuario de la aplicación de Android
- ¿Cuál es la diferencia entre Dialog.setContentView (View) & AlertDialog.setView (View)