2012-06-26 39 views
0

我正在使用以下代码在prefernceactivity中添加监听器。但它不工作。 请给出一个想法。android中的优先活动监听器

public class Preference extends PreferenceActivity implements OnSharedPreferenceChangeListener { 
OnSharedPreferenceChangeListener listener; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.settings); 
    } 
@Override 
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, 
     String key) { 
    // TODO Auto-generated method stub 

} 


} 

回答

3

您必须先注册听众。

最好的办法是在onResume进行注册和注销的:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    //... 
    prefs = PreferenceManager.getDefaultSharedPreferences(this); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 
    prefs.registerOnSharedPreferenceChangeListener(this); 
} 

@Override 
protected void onPause() {  
    super.onPause(); 
    prefs.unregisterOnSharedPreferenceChangeListener(this); 
}