2012-05-07 58 views
10

Tengo un EditText que necesita procesar entrada numérica y/o alfabética dependiendo del estado. El usuario puede ingresar cualquier tipo de entrada en algunas circunstancias. Solo he podido abrir el teclado del "Teléfono" usando setInputType (InputType.TYPE_CLASS_NUMBER);, que funciona, pero no permite al usuario regresar al teclado QWERTY. Como la mayor parte de la entrada es de hecho numérica, me gustaría presentarle al usuario el teclado? 123 la mayor parte del tiempo. Solo tendrían que volver al teclado QWERTY varias veces.Cómo abrir el teclado Android "? 123"

¿Cómo puedo desplegar el teclado QWERTY en pantalla para la entrada alfabética, y luego mostrar el teclado "? 123" si es numérico? Solo quiero guardar un paso para el usuario para que no tengan que presionar el botón? 123 en el teclado QWERTY todo el tiempo.

Actualización: Este es el teclado que me gustaría que fuera visible. La razón es que me gustaría que el usuario cambie fácilmente entre la entrada alfabética y la entrada numérica. No hay forma de cambiar al teclado QWERTY desde el "teclado numérico". En mi aplicación, se requiere una entrada numérica para el 90% de la entrada, por lo que me gustaría mostrarla como una conveniencia. En otras palabras, en lugar de tener que cambiar al teclado numérico 90% de las veces, sólo tienen que cambiar a QWERTY 10% del tiempo enter image description here

la llamada a input.setRawInputType(Configuration.KEYBOARD_QWERTY); funciona de forma diferente en las versiones de nido de abeja y posteriores de pan de jengibre (saca el teclado numérico). En Gingerbread 2.2.3 funciona de la manera que quiero. Honeycomb y 2.3.7 screengrabs de teclado están a continuación para referencia. No sé por qué son tan diferentes.

Honeycomb 3.2 keyboard for Configuration.KEYBOARD_QWERTY Gingerbread 2.3.7 keyboard for Configuration.KEYBOARD_QWERTY

+0

posible duplicado de [? ¿Cómo DEFAULT para teclado numérico EditarTexto sin forzar la entrada numérica] (http://stackoverflow.com/questions/6153796/ how-do-i-default-to-numeric-keyboard-on-edittext-without-forcing-numeric-input) –

+0

Gracias, pero esa publicación parece tratar con el teclado numérico. Hay una respuesta muy votada que dice "..también le permite ingresar texto libre". pero no veo dónde haces eso. No hay un botón en el teclado para hacerlo. Por favor, mira la actualización de mi pregunta. Esperemos que aclare. – wufoo

+0

Tenga en cuenta que muchos teléfonos tendrán un teclado diferente. Por ejemplo, los teléfonos Samsung tienen Swype por defecto o puede descargar teclados del mercado. – Jonas

Respuesta

0

Creo que esto post responde a su pregunta.

En resumen Agregar a su código:

editText.setRawInputType(Configuration.KEYBOARD_QWERTY); 
+2

Gracias, lo intenté. Solo parece hacer lo que quiero en 2.2.3. En 3.2 y 2.3.7, muestra el "teclado numérico" y no el teclado "? 123". Hmm ... – wufoo

Cuestiones relacionadas