2010-07-09 19 views
13

Estoy desarrollando una aplicación para Android en la que estamos utilizando WebView para mostrar la página web que se sirve desde el servidor web. Todo funciona bien, excepto con el problema de que cuando uso el teclado virtual y cambio a la entrada de la tecla numérica y me muevo del primer campo al siguiente, el diseño del teclado cambia automáticamente a alfanumérico.Teclado numérico de software en Android

¿Hay alguna forma de usar el teclado virtual en modo numérico solo cuando necesito ingresar números solamente?

Gracias y saludos cordiales.

+0

¿Cómo podemos usar de forma predeterminada un teclado numérico cuando el usuario se enfoca en un campo de edición de página web donde input = number? –

Respuesta

0

¿Hay alguna manera con el que puedo tire hacia arriba del teclado virtual en el modo numérico sólo cuando necesito para ingresar números solo?

Sí, puede especificar android:inputType atributo XML con el valor number o numberDecimal:

<EditText 
android:text="" 
android:id="@+id/editTextNumber" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:inputType="numberDecimal"> 
</EditText> 

Enjoy !!

+0

¿Lo has probado con Webview? @Shivaansh –

+1

Hola Paresh. Gracias por responder. Estamos enfrentando este problema solo con el uso de WebView. –

+1

Sí, la pregunta es acerca de los campos de entrada de la vista web. – Ixx

28
editTextField.setRawInputType(Configuration.KEYBOARD_QWERTY); 

Esto muestra primero el teclado numérico normal con la versión numérica, pero le permite alternar entre ellos.

getInput.setRawInputType(Configuration.KEYBOARD_12KEY); 

Esto muestra solo el valor numérico, sin posibilidad de introducir valores de texto.

Me encontré con una situación similar. Solo quería valores numéricos, pero tengo una "pista" que era texto. Establecer el tipo de entrada en el número no permitiría que se muestre la sugerencia. Esto funciona a su alrededor bien.

+5

¿No debería utilizar InputType.TYPE_CLASS_NUMBER en lugar de Configuration.KEYBOARD_QWERTY, y InputType.TYPE_CLASS_PHONE en lugar de Configuration.KEYBOARD_12KEY? estos son los mismos valores int así que tiene el mismo efecto, pero creo que estos son los tipos correctos. – SteelBytes

+0

esto funciona para mí. ¡Gracias! – rDroid

+0

user455451, tengo el mismo problema y he probado su método. Desafortunadamente, no funciona: si uso TYPE_CLASS_NUMBER (o Configuration.KEYBOARD_QWERTY - los códigos son los mismos) obtengo un teclado numérico SIN posibilidad de cambiarlo a entrada de texto. Tal vez el problema está en Android? Tengo la versión 2.1. –

1

Si usted está hablando de HTML, se puede utilizar características de HTML5, por ejemplo:

Number: <input type="number" name="points" min="1" max="10" /> 

probado esto en el navegador HTC Desire, y se trae a colación diferente teclado (numérica) al introducir datos en tales campo.

+0

Sí, esto debería funcionar en muchas circunstancias. Sin embargo, si usa jQueryMobile para su aplicación de navegador HTML5, escriba = number no activa un teclado numérico. – Wytze

+0

Para mi aplicación PhoneGap, al especificar type = "number" solo aparecía el teclado numérico después de que el usuario ingresara un carácter. Este jQuery lo arregló para mí (donde todas esas entradas tienen una clase de pin): $ (". Pin"). Live ('tap', function() { \t \t $ (this) .focus(); \t }); –

2

Configuration.KEYBOARD_12KEY o Configuration.KEYBOARD_QWERTY es una manera incorrecta.

Tienes que usar InputType (show doc here) en el EditText setRawInputType().

+1

Al establecer el tipo de entrada sin procesar en TYPE_CLASS_NUMBER, la mayoría de las entradas suaves se bloquean en el modo de solo número. –

Cuestiones relacionadas