Skip to content Skip to sidebar Skip to footer

How To Apply Inputfilter To Edittextpreferences?

I want to apply InputFilter to my EditTextPreferences... Before I used the PreferenceActivity I had EditTexts with Filters like that: et1 = (EditText) findViewById(R.id

Solution 1:

Konstantin had it mostly correct. Combine his answer with Sebastian's comment on his answer and you get

EditTexteditText1= ((EditTextPreference) findPreference(preference_1_key))
                         .getEditText();
editText1.setFilters(newInputFilter[]{ newInputFilterMinMax(1, 30) });

Solution 2:

Assuming this is your preference Activity and you can get the items by id:

EditTextPreferenceeditTextPreference= findByViewId(R.id.editPref1);
        EditTexteditText= editTextPreference.getEditText();
        editText.setFilters(................);

Solution 3:

This has more flexibility.

publicclassUtility {
publicstaticvoidsetEditTextInputFilter(EditText editText, final String blockCharacterSet) {
    InputFilterfilter=newInputFilter() {

        @Overridepublic CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {

            if (source != null && blockCharacterSet.contains(("" + source))) {
                return"";
            }
            returnnull;
        }
    };

    editText.setFilters(newInputFilter[]{filter});
}

}

How to use:

exampleEditText is the editText which want to block input "-".

Utility.setEditTextInputFilter(exampleEditText, "-");

Post a Comment for "How To Apply Inputfilter To Edittextpreferences?"