我需要以编程方式删除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);
}
最佳答案
首先不要加载PreferenceCategory
。
如果要使用Java定义首选项,请不要创建PreferenceCategory
。
如果要使用XML定义首选项,请使用三个XML文件:
在需要分类的情况下,加载所有三个XML文件。在不需要分类的情况下,仅加载第一个和第三个XML文件。
关于android - 如何以编程方式删除PreferenceCategory?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5605520/