界面XML文件:preference_setting.xml <?xml version="1.0" encoding="UTF-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="我的位置源"> <CheckBoxPreference android:key="my_wireless_network" android:title="使用无线电" android:summary="使用无线网络查看应用程序(例如Google地图)中的位置" /> <CheckBoxPreference android:key="my_gps_satellite_setting" android:title="启用GPS卫星设置" android:summary="定位时,精确到街道级别(取消选择可节约电量)" /> </PreferenceCategory> <PreferenceCategory android:title="个人信息设置"> <CheckBoxPreference android:key="my_yesno_save_individual_info" android:title="是否保存个人信息" /> <EditTextPreference android:key="my_individual_name" android:title="姓名" android:summary="请输入真实姓名" /> <PreferenceScreen android:key="my_other_individual_msg" android:title="其他个人信息" android:summary="是否工作、手机"> <CheckBoxPreference android:key="my_is_an_employee" android:title="是否工作" /> <EditTextPreference android:key="my_mobile" android:title="手机" android:summary="请输入您的手机号码" /> </PreferenceScreen> </PreferenceCategory> </PreferenceScreen> PreferenceActivity 的类文件: package com.icitylife.preference; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; import android.preference.Preference.OnPreferenceChangeListener; public class Main extends PreferenceActivity implements OnPreferenceChangeListener { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置PreferenceActivity保存数据使用的XML文件的名称 getPreferenceManager().setSharedPreferencesName("mySetting"); //加载XML资源文件:此处就不能使用Activity的setContentView() addPreferencesFromResource(R.xml.preference_setting); //获取【姓名】设置项对应的Preference对象 Preference individualNamePreference=findPreference("my_individual_name"); //获得指向mySetting.xml文件的SharedPreference对象 SharedPreferences sharedPreferences=individualNamePreference.getSharedPreferences(); //设置【姓名】设置项的summary individualNamePreference.setSummary(sharedPreferences.getString("my_individual_name","")); //判断【是否保存个人信息】设置项是否被选中 if(sharedPreferences.getBoolean("my_yesno_save_individual_info",false)){ individualNamePreference.setEnabled(true); }else{ individualNamePreference.setEnabled(false); } individualNamePreference.setOnPreferenceChangeListener(this); //获得【电话号码】设置项对应的Preference对象 Preference mobileNamePreference=findPreference("my_mobile"); SharedPreferences mobileSharedPreferences=mobileNamePreference.getSharedPreferences(); //设置【电话号码】的summary mobileNamePreference.setSummary(mobileSharedPreferences.getString("my_mobile","")); mobileNamePreference.setOnPreferenceChangeListener(this); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { preference.setSummary(String.valueOf(newValue)); return true; } /** * 处理【是否保存个人信息】的改变事件 */ @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference){ if("my_yesno_save_individual_info".equals(preference.getKey())){ findPreference("my_individual_name").setEnabled(!findPreference("my_individual_name").isEnabled()); } return super.onPreferenceTreeClick(preferenceScreen, preference); } } 工程下载地址:http://good.gd/1062674.htm