我需要在程序中移除一个PreferenceCategory。虽然我可以使用以下代码移除单个的Preference,但是我需要移除(禁用)整个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);
}