Preference クラスには onPreferenceChange リスナーがあります。public abstract boolean onPreferenceChange (優先設定、オブジェクト newValue);
このリスナーから false を返すと、新しい値は受け入れられません。
public boolean onPreferenceChange(Preference pref, Object newValue) {
if (pref == myStringPreferenceToValidate) {
final String newValueStr = (String) newValue;
if (newValueStr.length() != XX) {
// don't save it, not the correct length
return false;
}
return true;
}
}
ここで完全なドキュメントをチェックしてください: http://developer.android.com/reference/android/preference/Preference.OnPreferenceChangeListener.html