Я пытаюсь реализовать EditText
, который ограничивает ввод только символами Capital [A-Z0-9] с цифрами.
Я начал с метода InputFilter с некоторого сообщения. Но здесь я получаю одну проблему на Samsung Galaxy Tab 2, но не в эмуляторе или Nexus 4.
Проблема такова:
- Когда я набираю "A", текст показывает как "A" его хороший
- Теперь, когда я набираю "B", поэтому текст должен быть "AB", но он дает мне "AAB" это выглядит очень странно.
Короче говоря, он повторяет символы
Вот код, с которым я работаю с этим кодом:
public class DemoFilter implements InputFilter {
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart,
int dend) {
if (source.equals("")) { // for backspace
return source;
}
if (source.toString().matches("[a-zA-Z0-9 ]*")) // put your constraints
// here
{
return source.toString().toUpperCase();
}
return "";
}
}
Код файла XML:
<EditText
android:id="@+id/et_licence_plate_1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:hint="0"
android:imeOptions="actionNext"
android:inputType="textNoSuggestions"
android:maxLength="3"
android:singleLine="true"
android:textSize="18px" >
</EditText>
Я полностью застрял на этом, поэтому любая помощь здесь будет очень признательна.