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?"