Как удалить два символа одновременно с фильтром?Android EditText InputFilter
Я пытаюсь применить простой фильтр к EditText.
Он должен работать следующим образом:
(хочет получить формат: 1234 5678 ....)
===> Редакция: Первая часть работает хорошо.
1) когда в EditText есть 4 цифры, и я вхожу в 5-ю цифру -
сначала должно появиться пробел, а затем эта цифра.
2) И мне нужно обратное для этого (во время удаления символов) -
пространство должно быть удалено с помощью 5-й цифры.
Что не так с моим кодом?
editText.setFilters(new InputFilter[]{new DigitsKeyListener(Boolean.FALSE, Boolean.TRUE) {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
// any chars except backspace
if (!source.equals("")) {
if (dest.length() == 4) {
// here I must add a space and then the source
// ===> EDITED:
return " " + source;
// return super.filter(" " + source, start, end + 1, dest, dstart, dend + 1);
} // backspace entered
} else {
if (dest.length() == 6) {
// here I must delete the 6-th character
// and the space before
return super.filter(source, 0, 0, dest, 5, 6);
}
}
return null;
}
}});
, что это выход из приведенного выше кода? любая ошибка? – Lal
Outout как будто нет фильтров: 1234567 ... – Androider