我正在尝试以编程方式取消选中我应用中CheckBoxPreference
的所有PreferenceScreen
个孩子。我怎么能这样做?
答案 0 :(得分:3)
现在无法测试......但我会尝试这样的事情:
final ListAdapter adapter = getPreferenceScreen().getRootAdapter();
for (int idx = 0; idx < adapter.getCount(); idx++) {
Object object = adapter.getItem(idx);
if(object instanceof CheckBoxPreference){
((CheckBoxPreference)object).setChecked(false);
}
}
答案 1 :(得分:2)
找到一种更简单的方法 - 足以满足我的使用案例 - 即清除首选项。这可以通过静态方法完成,前提是传递给它:
PreferenceManager.getDefaultSharedPreferences(context).edit().clear().commit();