天天看点

Android首选项(二) 隐藏Preference

直接进入主题,隐藏其实是是使用的删除,如下是一段根据判断的添加和隐藏,直接粘了,参数反正无所谓:

if(newValue.equals(typePreference.getEntryValues()[0].toString())){
	((PreferenceCategory)findPreference("close_setting")).addPreference(startWorkTimePreference);
}else{
	((PreferenceCategory)findPreference("close_setting")).removePreference(startWorkTimePreference);
}
           

这里要说一下可以调用这两个方法的是PreferenceGroup,该类是抽象类,有两个子类:PreferenceCategory, PreferenceScreen。所以如果直接getPreferenceScreen来删除是不行的,因为一般都会使用到PreferenceCategory吧。这个两个方法都是只对直接的孩子Preference有用,恩,需要说的就这些,看api、开源码是个好习惯,遇到网上出现解决方法少的再继续分享