Мне нужно программно удалить PreferenceCategory. Я мог бы удалить отдельные предпочтения с помощью следующего кода, но мне нужно удалить (отключить) и всю PreferenceCategory.
PreferenceScreen preferenceScreen = getPreferenceScreen();
EditTextPreference etp = (EditTextPreference) preferenceScreen.findPreference("pref22");
((PreferenceGroup) findPreference("prefcat")).removePreference(etp);
Изменить: Вот рабочий код для PreferenceCategory «prefcat» и дочернего предпочтения «pref22»:
PreferenceScreen preferenceScreen = getPreferenceScreen();
EditTextPreference etp = (EditTextPreference) preferenceScreen.findPreference("pref22");
PreferenceGroup preferenceGroup = (PreferenceGroup) findPreference("prefcat");
if (preferenceGroup != null) {
preferenceGroup.removePreference(etp);
preferenceScreen.removePreference(preferenceGroup);
}