Teclado duro No se puede enfocar editText
Tengo un EditText común. Es muy extraño porque no puedo enfocarlo cuando uso el teclado duro. Condiciones de contexto:
- Cambia el hardkey de Droid en
- Iniciar la actividad
- Haga clic en el campo editText para ingresar
- No puede ingresar. Al pulsar cualquier tecla, editText perdió el foco.
Para conseguir el foco: presione Dpad y usted verá que el foco comienza del 1r widget en la pantalla. Y finalmente se centran en el destino EditText. A continuación, puede introducir. Sin esto, no puede ingresar con teclado duro en absoluto.
- Cómo agregar sugerencias en el teclado android
- ¿Puedo tener "adjustResize" comportamiento de teclado suave y una barra de herramientas detrás de la barra de estado al mismo tiempo?
- Android - tecla de teclado personalizada y acción
- Cómo bloquear / desbloquear el teléfono mediante programación: Android
- El teclado suave de Android oculta el botón
El teclado suave no tiene este problema de enfoque.
Estoy usando android 2.2. ¿Es esto un error del sistema?
- Deshabilitar una tecla en el teclado personalizado de Android
- WebView oculta el teclado virtual durante loadUrl (), lo que significa que un teclado no puede permanecer abierto mientras llama a javascript
- SoftKeyboard para Android
- Cómo abrir el teclado Android "123"
- ¿Cómo evitar que el teclado oculte mi EditText?
- El teclado virtual de Android nunca aparece en el emulador
- AutoCompleteTextView: quita el teclado suave en la parte posterior de la prensa en lugar de sugerencias
- En Android, ¿Se puede interceptar eventos clave a nivel mundial antes de que lleguen al niño?
Como se mencionó anteriormente esto es claramente un error con el teclado duro. Si tiene un EditText y un TabHost en su diseño, en la primera tecla presionada, EditText pierde el foco y la pulsación de teclas se envía a la actividad en su lugar. Aquí es un trabajo alrededor a este problema. Implemente esto en su actividad.
@Override public boolean onKeyDown(int keyCode, KeyEvent event){ final EditText myInputField = (EditText) findViewById(R.id.MyInputEditText); // this will happen on first key pressed on hard-keyboard only. Once myInputField // gets the focus again, it will automatically receive further key presses. if (!myInputField.hasFocus()){ myInputField.requestFocus(); myInputField.onKeyDown(keyCode, event); } return super.onKeyDown(keyCode, event); }
Si tiene varios campos de EditarTexto, necesitará realizar un seguimiento de EditText actualmente enfocado en una variable de clase y usarlo en el método onKeyDown.
Tengo el mismo problema. Estoy un poco de acuerdo con Jay. Normalmente, TabHost y / o TabActivity utilizan un LocalActivityManager que realiza un seguimiento de actividades incrustadas o componente ContentStrategy adecuado que se muestra dentro del elemento FrameLayout. En palabras sencillas, se trata de un típico problema de diseño incrustado de Actividades / Vistas incrustadas. La opción Editar texto se encuentra en la actividad / vista superior que está ocupando el espacio de la pantalla táctil, mientras que hay una Actividad principal que en realidad alberga esta Actividad / Vista que probablemente captura el foco de InputMethodService y lo mantiene alejado de la opción Editar texto, Sólo para el escenario de teclado duro. El teclado suave funciona bien.
Un cambio que hice a mi texto de edición es cambiar el InputType como puramente decimal. Por lo tanto, cuando el texto Editar aumenta el foco, el teclado virtual muestra un teclado numérico y no el teclado alfabético qwerty. Lo corrí en un emulador de Motorla Droid Pro, que actualizé en Plugins de Eclipse del sitio web de Motodev. Aparentemente, cuando intento ingresar texto desde el teclado duro después de haber dado foco para la edición de texto (y el teclado está mostrando un teclado numérico), después de hacer clic en 'ALT + 2', se vuelve a cargar el teclado virtual Como teclado alfabético mientras que el texto de edición pierde el foco enteramente.
Parece un error serio para mí en la liberación de Froyo, soporte insuficiente para dispositivos de teclado duro para editar vistas de texto en diseños (LinearLayout) que están incrustados en otros diseños (FrameLayout de un TabHost).
- Cómo quitar el archivo de clase en archivo .jar y cambiarlo con mi propia implementación
- Detectar el dispositivo bluetooth ocultado / invisible en el móvil