2

Я немного новичок в android dev. У меня есть экран предпочтений в моем приложении с кучей EditTextPreference и checkbox pref. Я заинтересован в выполнении проверки на вкладке в edittextpreference. Кажется, нет никакого способа сделать это с помощью android, поэтому я разработал класс, расширяющий 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; 
      } 

      });