2011-02-08 8 views
8

Voglio specificare che Android dovrebbe avviare la tastiera virtuale per un determinato EditText in modalità numerico/simboli. So che questo può essere fatto impostando il tipo di input di EditText come numerico usando EditText.setInputType() eccetto che non voglio limitare il tipo di input per EditText solo all'input numerico **. C'è un altro modo per dire ad Android quale tastiera dovrebbe aprire per un determinato EditText?android: avvia in modalità tastiera simbolica, ma non limitarsi all'input solo numeri

** Voglio essenzialmente una classe matematica di input numerici, accettando espressioni matematiche arbitrarie, tra cui [0,9. + -/*() @:].

+0

Quasi la stessa domanda: http://stackoverflow.com/questions/25219855/how-to-show-android-keyboard-with-symbols-mode-by-default – OneWorld

risposta

-3

Credo che la magia è in:

editText.setInputType(InputType.TYPE_CLASS_NUMBER); 
+2

Sono abbastanza sicuro che questo rende l'input accetta solo cifre. Verifico, comunque. – Bee

+1

SetInputType e SetRawInputType restringono l'input che la domanda specificava in modo specifico di non voler eseguire. – AlanKley

-2

dopo alcune ricerche e cercando un sacco di cose diverse, ho trovato la risposta:

editField.setRawInputType(InputType.TYPE_CLASS_NUMBER); 
//   ^^^ note the Raw! 

quindi è necessario il versione Raw di impostazione il tipo di input per aggirare un KeyListener impostato, che limita l'input.

+3

SetInputType e SetRawInputType restringono l'input che la domanda ha specificato espressamente che non volevano fare – AlanKley

Problemi correlati