
这是我现在的代码:
private voID checkAll() { SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = settings.edit(); @SuppressWarnings("unchecked") Map<String,Boolean> categorIEs = (Map<String,Boolean>) settings.getAll(); for(String s : categorIEs.keySet()) { editor.putBoolean(s,true); } editor.commit(); } private voID uncheckAll() { SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = settings.edit(); @SuppressWarnings("unchecked") Map<String,false); } editor.commit(); this.restart(); } 这段代码工作正常但我需要以某种方式刷新视图以查看结果imediatelly(不仅仅是在关闭并重新启动设置活动之后).
谢谢大家的任何建议!
解决方法 那是因为你实际上并没有抓住偏好对象,只是实际值.在for循环中尝试这个:boolean theValue = param; for(String s : categorIEs.keySet()) { Preference pref = findPreference(s); if (pref instanceof CheckBoxPreference) { CheckBoxPreference check = (CheckBoxPreference)pref; check.setChecked(theValue); } } 我认为你可以省略调用编辑器并提交,因为setChecked()会为你做这件事.
也检查this.
总结以上是内存溢出为你收集整理的Android CheckBoxPreference – 取消/检查所有首选项全部内容,希望文章能够帮你解决Android CheckBoxPreference – 取消/检查所有首选项所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)