2013-04-05 3 views
0

설정이 활성화되어있을 때 특정 길이 (문자 수) 여야하는 여러 문자열이있는 환경 설정 화면이 있습니다. 또한 모든 문자열이 필요합니다. 이상적으로 사용자가이 설정을 사용하도록 설정하면 모든 문자열이 적절한 길이로 입력 될 때까지 변경 사항을 적용 할 수 없어야합니다. 나는 최대 길이에 대해서 말하고있는 것이 아니라 정확한 문자 수에 대해 언급하고 있음을 주목하라.Android 환경 설정에서 정확한 문자열 길이를 적용하려면 어떻게해야합니까?

사용자에게 해당 규칙을 적용하려면 어떻게해야합니까? 기본 제공 기본 설정 컨트롤을 통해이 작업을 수행 할 수있는 방법이 있습니까? 아니면 사용자 지정 조각을 만들어야합니까?

+2

SHEE 여기 : http://stackoverflow.com/questions/ 2535132/and-do-you-validate-the-edit-textpreference-in-andro의 형식 및 값 유효성 검사 – FoamyGuy

답변

1

Preference 클래스에는 onPreferenceChange 리스너가 있습니다. public abstract boolean onPreferenceChange (기본 설정 기본 설정, Object 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