欢迎大家访问我的博客http://blog.csdn.net/mikejaps,专注于android ios app 开发
最近在看开源中国的源码时,学习了PreferenceActivity,下面对PreferenceActivity做一下总结
1,继承关系PreferenceActivity 继承于 ListActivity,实现了
PreferenceManager.OnPreferenceTreeClickListener,
PreferenceFragment.OnPreferenceStartFragmentCallback 2个接口
2,加载xml 文件
a,addPreferencesFromResource(R.xml.preferences); 加载布局
b,myinfo = (Preference)findPreference("myinfo");通过key 找到 标签
c,myinfo .setOnPreferenceClickListener设置点击事件
d,voice.setChecked(ac.isVoice());设置CheckBox,状态
e,voice.setSummary("已开启提示声音"); 设置summary 的文本
文件目录如下
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- About account -->
<PreferenceCategory
android:key="esp_settings_account_category" />
<CheckBoxPreference
android:key="account_auto_login"
android:title="@string/esp_settings_account_auto_login" />
<!-- About device -->
<PreferenceCategory android:title="@string/esp_settings_device" />
<ListPreference
android:key="device_auto_refresh"
android:title="@string/esp_settings_device_auto_refresh"
android:entries="@array/esp_settings_device_auto_refresh_entries"
android:entryValues="@array/esp_settings_device_auto_refresh_values" />
<ListPreference
android:key="device_auto_configure"
android:title="@string/esp_settings_device_auto_configure"
android:entries="@array/esp_settings_auto_config_device_entries"
android:entryValues="@array/esp_settings_auto_config_device_values" />
<!-- About version -->
<PreferenceCategory android:title="@string/esp_settings_version" />
<Preference
android:key="version_upgrade"
android:title="@string/esp_settings_version_upgrade" />
<Preference
android:key="version_name"
android:title="@string/esp_settings_version_name" />
<Preference
android:key="version_log"
android:title="@string/esp_settings_version_log" />
</PreferenceScreen>
-
3,标签说明
PreferenceCategory 段标签;
Preference 段下面的item 文本形式
CheckBoxPreference checkbox 形式,
SwitchPreference switch 形式
android:layout 指定的布局
android:title 标题
android:key 代码中用来查找标签的key,相当于加载布局中的id,findViewById
android:summary summmary 文本