У
есть PreferenceActivity
орудие OnPreferenceChangeListener
, а затем зарегистрируйте в нем свой флажок.Когда вы обнаружите, что он был нажат, отключите параметр
//in onCreate
findPreference("checkboxpreferencekey").setOnPreferenceChangeListener(this);
public boolean onPreferenceChange(Preference preference, Object newValue){
if(preference.getKey().equals("checkboxpreferencekey")){
preference.setEnabled(false);
return true;
}
else return true;
}
. Таким образом, вы можете отключить его, вам все равно понадобится какой-то обратный вызов или широковещательная рассылка от вашего сервиса, чтобы узнать, когда включить его снова.Но когда придет время, ты сделаешь то же самое.
findPreference("checkboxpreferencekey").setEnabled(true);