public class MainActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener
{
      
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        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(SharedPreferences sp,
            String key)
    {
        if(key.equals("wifi_setting"))
        {
            String bg_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(Menu menu)
    {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}



注:

1.OnPreferenceChangeListener

★  Preference.OnPreferenceChangeListener     该监听器的一个重要方法如下:

        boolean onPreferenceChange(Preference preference,Object objValue)

             说明:  当Preference的元素值发送改变时,触发该事件。

             返回值:true  代表将新值写入sharedPreference文件中。

                     false 则不将新值写入sharedPreference文件