android之PreferenceActivity

PerferenceActivity是什么? 
其实 Android系统本身就大量用到了PreferenceActivity来对系统进行信息配置和管理,那么它是怎么保存数据的呢,如何创建PrefenceActivity的呢,更关键是怎样触发相应事件的呢(这些 大家 Google哈 网络是个好东西 动动鼠标 出来一大箩筐) 

android之PreferenceActivity 

我现在想把填的数据 在副标题上显示 
如图 

android之PreferenceActivity 

具体做法如下 
1 注册一个监听 
Java代码  android之PreferenceActivity
  1. SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);  
  2.        putDefaultSummary(sp, "");  
  3.        sp.registerOnSharedPreferenceChangeListener(listener);  

listener里调用 putDefaultSummary(sharedPreferences,key); 
2编写putDefaultSummary函数 
Java代码  android之PreferenceActivity
  1. private void putDefaultSummary(SharedPreferences sp,String key){  
  2. if ("".equals(key)) {  
  3.     Map<String, ?> map=sp.getAll();  
  4.     for (String str : map.keySet()) {  
  5.     Preference preference= findPreference(str);  
  6.     if (preference instanceof  EditTextPreference){  
  7.         preference.setSummary(sp.getString(str, ""));  
  8.     }  
  9.     }  
  10. }else {  
  11.     Preference preference= findPreference(key);  
  12.     if (preference instanceof  EditTextPreference){  
  13.         preference.setSummary(sp.getString(key, ""));  
  14.     }  
  15. }  
  16.    }  

转载于:https://www.cnblogs.com/bnq4ever/archive/2011/06/16/2082464.html