Próbuję zaimplementować EditText
, który ogranicza również dane wejściowe tylko do znaków Capital [A-Z0-9] z cyframi.Filtr wejściowy w EditText powoduje powtarzanie tekstu
zacząłem metodą InputFilter od jakiegoś post.But tutaj jestem coraz jeden problem na Samsung Galaxy Tab 2, ale nie w emulatorze lub Nexus 4.
Problem jest tak:
- Kiedy Wpisuję "A" tekst pokazuje jako "A" jego dobry
- Teraz gdy wpisuję "B", tekst powinien brzmieć "AB", ale daje mi "AAB" to wygląda bardzo dziwnie.
Krótko powtarza znaków
Oto kod pracuję z tym kodem: Kod plik
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>
jestem całkowicie zatrzymany w górę na tej, więc wszelka pomoc tutaj będzie bardzo ceniona.
podziękowania dla naszej odpowiedzi, Pozwól mi sprawdzić to działa, czy nie? –
Nie działa –
Huh, sprawdziłem tutaj opublikowany kod i jego działanie zgodnie z oczekiwaniami, możesz również opublikować implementację pliku XML swojego edytowalnego tekstu, w którym dodajesz ten DemoFilter .. – CRUSADER