В Android, как да проверя съдържанието на EditTextPreference в моята PreferenceActivity

Имам PreferenceActivity в моето приложение за Android, за да позволя на потребителя да конфигурира различни параметри. Някои от тях са числа, които се въвеждат в EditTextPreferences. Осъзнавам, че мога да използвам ListPreferences вместо това, за да принудя входа да бъде числов, но диапазонът от допустими стойности е твърде голям, за да е удобно.

Следователно бих искал да добавя код за проверка на различните записи в опит да се защитят от потребителя възможно най-добре. Имам много подобен код другаде в приложението, който проверява съдържанието на някои EditText в дейност в раздел, използвайки setOnFocusChangeListener, прикачен към EditTexts:

dataField.setOnFocusChangeListener (new DataFieldFocusChangeListener());

Това работи като чар.

За съжаление не изглежда, че слушателят за промяна на фокуса за EditText в EditTextPreference в моята PreferenceActivity някога е бил извикан. Може ли някой да предложи слушател, подходящ за тази ситуация?


person Rich    schedule 17.07.2013    source източник


Отговори (1)


Можете да опитате да използвате следния слушател: -

yourEditText.addTextChangedListener(new TextWatcher() {

    @Override
    public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub

    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onTextChanged(final CharSequence s, int start, int before, int count) {

        // Perform validation here

    }

});
person Vikram    schedule 17.07.2013