Jak ustawić klawiaturę numeryczną w EditText bez wymuszania wprowadzania numerycznego? [duplikat]
To pytanie ma już odpowiedź tutaj:
- domyślnie EditText z klawiaturą numeryczną, ale z możliwością stosowania znaków alfabetycznych 19 odpowiedzi
To zostało poproszone gdzie indziej online bez skutku. Czy jest jakiś sposób w Androidzie, aby wyświetlać numeryczną miękką klawiaturę, gdy skupiasz się na EditText
, ale nadal zezwalasz na wprowadzanie dowolnego tekstu?
Chciałbym pozwól użytkownikowi wprowadzić ilości (np. "1 kg", "2 L"), więc samo ustawienie inputType="number"
nie zadziała.
6 answers
Dodaj następującą linijkę kodu, a to załatwi sprawę:)
editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
Spowoduje to wyświetlenie najpierw klawiatury numerycznej, ale także pozwoli na wprowadzenie wolnego tekstu.
Więcej informacji tutaj .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:32:11
To może być zależne od urządzenia, ale czy próbowałeś:
android:inputType="phone"
W XML EditText daje to klawiaturę klawiatury numerycznej, ale nadal możesz przełączyć się na literę, jeśli chcesz. (Przynajmniej na moim Nexus One).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-27 15:00:23
Zauważ, że: setRawInputType (InputType.TYPE_CLASS_NUMBER);
Ma pożądany efekt na niektórych urządzeniach, ale nie na innych...
Na htc działa dobrze jednak na galaxy tab II dostajesz tylko klawiaturę numeryczną i nie ma możliwości przełączenia z powrotem na Alfę.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-21 12:24:14
Wpisz kod w XML, android: numeric= " integer" android: inputType= " telefon" android: cyfry= "1234567890"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-13 01:47:25
Wygląda na to, że podstawowe pytanie, z którym masz do czynienia, brzmi: jak Mogę zezwolić użytkownikowi na wprowadzanie ilości?
Jedna właściwa odpowiedź brzmi: z wejściem numerycznym, sparowanym z jakąś formą kategorii wybierz dla jednostki. np. radio, rozwijane lub spinner. Jest to prawdopodobnie łatwiejsze w użyciu, a także oszczędza ból głowy konieczności walidacji danych wejściowych za każdym razem.
Możesz też po prostu mieć żelazne cojones i napisać niestandardową miękką klawiaturę.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-28 05:52:02
Próbowałem wielu różnych kombinacji, zanim to rozgryzłem, ale wygląda na to, że działa poprawnie:
setRawInputType(InputType.TYPE_CLASS_NUMBER);
Klucz leży w opisie dla setRawInputType(int)
:
Bezpośrednio zmienić typ zawartości w widoku tekstowym, bez modyfikowanie dowolnego innego stanu .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-07 20:14:15