摘录笔记:
当我们在开发Android项目时一般都会用到首选项设置,在Android3.0之前我们都使用PreferenceActivity类来进行操作,这些设置习惯会被Preference自动保存下来,以便下次进入后恢复上一次的选择状态。
PreferenceActivity和普通的Activity不同,他们不使用setContentView加载布局,而是加载选项设置布局,而选择设置布局是以PreferenceScreen作为根元素的xml布局文件。
但在Android3.0之后Google不推荐我们使用PreferenceActivity来进行首选项设置,而是替换成了PreferenceFragment,其实二者的用法类似,只不过PreferenceFragment更容易扩展,所以推荐使用PreferenceFragment进行首选项设置。
PreferenceFragment是直接继承自Fragment,另选项布局xml文件的根节点一定是PreferenceScreen,在这个元素中我们可以添加不同的Preference,常用的Preference控件如下:
CheckBoxPreference、SwitchPreference、EditTextPreference、ListPreference、MultiSelectListPreference、PreferenceCategory等。
PreferenceCategory是一个大类别,里面用来存放任意的Preference控件
运行后会在/data/data//shared_prefs/目录下生成对应的xml文件,用于存储设置的结果状态,
另可通getPreferenceManager().setSharedPreferenceName()方法来设置文件的名称。
所有的控件都需要合入android:key属性,不然无法保存结果状态,android:title是大标题,android:summary是小标题。