Mam wartość, edittext
w której chcę wstawić tylko wartości całkowite. Czy ktoś może mi powiedzieć, z której nieruchomości mam korzystać?
android
android-edittext
Sourabh
źródło
źródło
android:inputType="phone"
zamiast tego. Ale wydaje się nieco bardziej „zajęty”.Na przykład:
źródło
0123456789.
a nie czytać0123456780.
W kodzie możesz to zrobić
źródło
Aby wprowadzić tylko cyfry, użyj
android:inputType="numberPassword"
wraz z,editText.setTransformationMethod(null);
aby usunąć automatyczne ukrywanie numeru.LUB
android:inputType="phone"
W przypadku wprowadzania tylko cyfr uważam, że te kilka sposobów jest lepszych niż
android:inputType="number"
. Ograniczenie wymieniania „liczby” jako inputType polega na tym, że klawiatura umożliwia przełączanie się na znaki, a także umożliwia wprowadzanie innych znaków specjalnych. „NumberPassword” inputType nie ma tych problemów, ponieważ klawiatura pokazuje tylko cyfry. Nawet wejście „telefon” działa, ponieważ klawiatura nie pozwala na przełączanie się na znaki. Ale nadal możesz wprowadzić kilka znaków specjalnych, takich jak +, /, N itp.android: inputType = "numberPassword" z editText.setTransformationMethod (null);
inputType = „telefon”
inputType = „number”
źródło
android:inputType="numberPassword"
wraz zeditText.setTransformationMethod(null);
źródło
źródło
skorzystanie z poniższych może lepiej rozwiązać problem;
w xml:
lub // w działaniu wewnątrz etfield.addtextchangelistener
źródło
Jeśli ktoś chce użyć tylko numeru od 0 do 9 z
imeOptions
włączeniem, użyj poniższej linii w swoimEditText
Pozwoli to tylko na liczbę, a jeśli klikniesz przycisk Gotowe / Dalej na klawiaturze, fokus przejdzie do następnego pola.
źródło
Możesz go użyć w formacie XML
lub,
lub,
Programowo możesz użyć
editText.setInputType (InputType.TYPE_CLASS_NUMBER);
źródło
Muszę złapać naciśnięcie Enter na klawiaturze z TextWatcherem . Ale dowiedziałem się, że wszystkie klawiatury numeryczne dla Androida: inputType = „number” lub „numberDecimal” lub „numberPassword” itp. Nie pozwalają mi złapać Enter, gdy użytkownik je naciśnie.
Próbowałem
android:digits="0123456789\n"
i wszystkie klawiatury numeryczne zaczęły współpracować z Enter i TextWatcher.Więc moja droga to:
plus
editText.setTransformationMethod(null)
Dzięki barmaley i abhiank.
źródło
Nie wiem, jaka była prawidłowa odpowiedź w '13, ale dzisiaj brzmi:
myEditText.setKeyListener(DigitsKeyListener.getInstance(null, false, true)); // positive decimal numbers
Dostajesz wszystko, w tym klawiatura ekranowa to klawiatura numeryczna.
Prawie wszystko. Espresso, w swojej nieskończonej mądrości, pozwala w
typeText("...")
niewytłumaczalny sposób ominąć filtr i dostać się do śmieci ...źródło
najprostszy dla mnie
chociaż to również bardziej dostosowuje
źródło