Android:Preference、PreferenceActivity、设置列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 public class MainActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener { @Override protected void onCreate(BundlesavedInstanceState) { super .onCreate(savedInstanceState); //setContentView(R.layout.activity_main); addPreferencesFromResource(R.xml.mypreference); } @Override //暂停的时候撤销选项 protected void onPause() { super .onPause(); PreferenceManager.getDefaultSharedPreferences( this ).unregisterOnSharedPreferenceChangeListener( this ); } @Override //恢复的时候注册选项监听 protected void onResume() { super .onResume(); //两种方法,与注册所用方法效果一样 PreferenceManager.getDefaultSharedPreferences( this ).registerOnSharedPreferenceChangeListener( this ); } @Override //监听设置 public void onSharedPreferenceChanged(SharedPreferencessp, Stringkey) { if (key.equals( "wifi_setting" )) { Stringbg_list=sp.getString( "wifi_setting" , "nolink" ); Log.e( "wifi_setting" ,bg_list); } if (key.equals( "wifi_key" )) { boolean wifi_key=sp.getBoolean( "wifi_key" , false ); Log.e( "wifi_key" ,wifi_key+ "" ); } } @Override public boolean onCreateOptionsMenu(Menumenu) { getMenuInflater().inflate(R.menu.activity_main,menu); return true ; } } 注: 1.OnPreferenceChangeListener Preference.OnPreferenceChangeListener 该监听器的一个重要方法如下: boolean onPreferenceChange(Preferencepreference,ObjectobjValue) 说明: 当Preference的元素值发送改变时,触发该事件。 返回值:true 代表将新值写入sharedPreference文件中。 false 则不将新值写入sharedPreference文件 本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1218495,如需转载请自行联系原作者