2010-05-23 8 views

Respuesta

120
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0); 

o

conjunto de propiedades de actividad en el archivo de manifiesto de la siguiente manera

android:windowSoftInputMode="stateHidden" 
+2

respuesta simple ... gracias a Mitual Nakum –

+0

Está trabajando ahora, gracias. –

+0

Configuración de android: windowSoftInputMode en el archivo AndroidManifest.xml se puede ORed con otros valores.El modo generalmente implica valores únicos, pero en este caso, el valor es una colección de indicadores. Descripción de los valores: 'Formatos: flag Valores: adjustNothing, adjustPan, adjustResize, adjustUnspecified, stateAlwaysHidden, stateAlwaysVisible, stateHidden, stateUnchanged, stateUnspecified, stateVisible Especifica el modo predeterminado de soft-input para la ventana principal de esta actividad. Un valor además de "no especificado" aquí anula cualquier valor en el tema. –

0

no he probado esto ni estoy cerca de mi computadora de programación, pero sospecho que enviar el foco a la vista padre o algo de esa naturaleza podría hacer el truco - eso es más una solución que una solución, pero de nuevo no para probarlo solo un pensamiento

+0

Lo he intentado pero no funciona. Llamé a '.requestFocus();' en un botón, y aún a las ventanas emergentes del teclado. – Pentium10

132

vaya al archivo de manifiesto de su aplicación, y escriba esta línea para la actividad que desea deshabilitar la ventana emergente automática del teclado.

android:windowSoftInputMode="stateHidden" 
+0

No funcionó para mí. Lo puse en activity_main.xml. Esto funcionó perfecto cuando lo puse en Crear(). getWindow(). SetSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); – zappullae

14

Para programáticamente no han mostrado el teclado, pero el control por defecto, siendo Recieve llamada de atención:

getWindow().setSoftInputMode(WindowManager. 
          LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

en onResume()

0
if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT_INPUT_STATE_UNSPECIFIED) 
{ 
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 
} 
+3

¡Bienvenido a StackOverflow! Esto no es como otros foros, si desea cambiar su respuesta, simplemente haga clic en el enlace 'editar' y realice los cambios. Y por favor intente formatear su código seleccionando su código y usando el botón Code Sample '{}' o presionando 'Ctrl + K'. –

3

Tener otro foco vista de agarre. De forma predeterminada, la primera vista enfocable obtendrá el foco cuando se infla una disposición. Puede solicitar el enfoque en una vista diferente a través de XML:

<TextView 
    android:layout_width="wrap_parent" 
    android:layout_height="wrap_content" 
    android:text="Some other view"> 

    <requestFocus /> 
</TextView> 

Esto funciona para cualquier Vista.

Si desea hacerlo mediante programación, puede usar view.requestFocus().

7
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

llamada el método anterior en el interior onCreate() .Es prevenir softKeyboard para mostrar a menos que el usuario seleccione EditarTexto por tapping or clicking.

o simplemente añadir android:windowSoftInputMode="stateHidden" en etiquetas de actividad en Manifest.xml

2

Esto suele ser un desastre. Lo primero que intento es intentar robar el foco con otra vista a través de. También debe tener el InTouchMode enfocable y enfocable.

<TextView 
    ... 
    android:focusable="true" 
    android:focusableInTouchMode="true"> 

    <requestFocus/> 
</TextView> 
Cuestiones relacionadas