2011-10-05 13 views
5

Tengo mi propio teclado en mi aplicación, así que quiero ocultar el teclado del software todo el tiempo (en actividades específicas & diálogos). Experimenté con dos opciones:¿Cómo evito que aparezca el teclado del software?

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

Este código impide que el teclado de aparecer al principio, pero cuando hago clic en el cuadro de texto que el teclado sigue COP.

InputMethodManager imm = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); 

Este código oculta el teclado, pero no impide que aparezca el teclado.

¡AYUDA POR FAVOR!

+0

la salida de este http://stackoverflow.com/questions/7289335/soft-keyboard-shows-up-on-edittext-focus-only -once/7291121 # 7291121 –

+0

thx pero estoy teniendo un problema diferente allí ... Quiero ocultar el teclado desde el principio y evitar que aparezca sin importar lo que haga – Han

Respuesta

8

¡Definitivamente resuelto!

que utilizan

public void supressKeyboard() { 
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 
} 

para las actividades en el que necesito para suprimir el teclado (se puede poner en una actividad general en la que todas las demás actividades heredan de)

Pero esto no impide que el el teclado aparecerá cuando haga clic en el cuadro de texto Editar texto. Lo que hice es consumí caso onTouch del cuadro de texto:

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    return true; 
} 
+0

Esa es la técnica que uso también – castle1971

+1

Cómo ¿Obtienes el cursor para mostrar, o no? Cada vez que trago el evento táctil, evita que se muestre el cursor. –

+0

Esta publicación es antigua, pero ... Me preguntaba, ¿aún puede escribir con un teclado de hardware? –

Cuestiones relacionadas