2

나는 안드로이드 개발자에게 조금 익숙하다. EditTextPreference와 checkf pref를 사용하여 내 앱에 환경 설정 화면이 있습니다. edittextpreference에 대한 입력에 대한 유효성 검사를 수행하는 데 관심이 있습니다. 안드로이드를 사용하여 이렇게 할 수있는 방법이없는 것 같아서 edittextpreference를 확장 한 클래스를 개발했습니다.SharedPreferences Validation

예를 들어 유효한 범위는 0-1입니다. 텍스트 기본 설정에는 숫자가 사용되지만 설정하기 전에 유효성을 검사해야합니다.

setText 메서드를 재정의하고 실제로 값을 설정하기 전에 유효성 검사를 시도하고 있습니다. SetText는 텍스트 문자열 만 전달합니다. 어떻게 유효성을 검사하려고하는지 어떻게 알 수 있습니까? 어떻게 그 정보를 얻을 수 있습니까? 즉, 모든 텍스트 환경 설정의 유효성을 검사하기 위해 수업을 재사용하고 싶습니다. 환경 설정 자체에서 어떤 유형인지, 범위가 무엇인지 알려주고 싶습니다.

+0

좋은 질문입니다. 답을 찾고 있습니다. – Ahmed

+0

아마도 addTextChangedListener를 사용하십시오. http://stackoverflow.com/questions/10648824/how-can-i-check-an-edittextpreference-value-before-the-user-validate-it – timothyjc

답변

0
   Preference pref = findPreference("OutputFolder"); 


      pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { 

      @Override 
      public boolean onPreferenceChange(Preference preference, 
        Object newValue) { 

           // Do the validation here 

       } 
       return true; 
      } 

      });