Чтобы по-настоящему достичь эффекта вложения, вы можете использовать эту технику для перемещения загруженных предпочтений в уже загруженную группу.
PreferenceCategory notifications = (PreferenceCategory) getPreferenceScreen ().findPreference (PreferenceKey.pref_notifications.name ());
addPreferencesFromResource (R.xml.pref_notifications, notifications);
Где расширенный addPreferencesFromResource определяется как:
private void addPreferencesFromResource (int id, PreferenceGroup newParent) {
PreferenceScreen screen = getPreferenceScreen ();
int last = screen.getPreferenceCount ();
addPreferencesFromResource (id);
while (screen.getPreferenceCount () > last) {
Preference p = screen.getPreference (last);
screen.removePreference (p); // decreases the preference count
newParent.addPreference (p);
}
}
Это работает для любой PreferenceGroup, такой как PreferenceScreen и PreferenceCategory.