Я использовал InputFilter для фильтрации своих входов. Он меняет входной фильтр с помощью нажатия кнопки с бинарного на октальный, чтобы часть работала отлично. Вопрос в том, что я не могу вводить значения после ввода более высоких значений. (Как 2 в двоичном и 8 в восьмеричном). InputFilter работает отлично, пока я не введу ожидаемые значения (0-1 в бине, 0-7 в октябре). Но я не могу ввести какое-либо значение в EditText после ввода другого значения (от 3 до двоичного). Я тестировал на физических устройствах. (Xiaomi и Huawei)
et=findViewById(R.id.et);
et.setFilters(new InputFilter[] {
new InputFilter() {
@Override
public CharSequence filter(CharSequence cs, int start,
int end, Spanned spanned, int dStart, int dEnd) {
// TODO Auto-generated method stub
if(cs.equals("")){
return cs;
}
if(cs.toString().matches("[0-1 ]")){
return cs;
}
return "";
}
}
});