Enviar información de EditText a IME
-
23-10-2019 - |
Pregunta
Estoy escribiendo una aplicación de aprendizaje de idiomas, actualmente solo alemán <-> ruso.
Hay varios EditTexts
donde se supone que el usuario ingresa texto en uno u otro idioma. Como estos idiomas usan diferentes alfabetos, la aplicación utiliza su propio teclado suave al implementar InputMethodService
y proporcionando diseño de teclado latino y cirílico. Es conocido por cada EditText
Campo qué lenguaje se espera.
Lo que me gustaría es que, por ejemplo, cada vez que un EditText
Field esperando que el ruso esté enfocado, se debe mostrar el diseño de teclado cirílico. Cuando se selecciona, el EditText
Debe pasar algo constante al IME, que este último puede usar para decidir si se debe mostrar en modo latín o cirílico.
Idealmente, uno simplemente especificaría algo personalizado InputType
Para el EditText
Pero eso no parece ser posible, ¿verdad? ¿Cuál es el enfoque correcto aquí?
Solución
Tu idea no suena mal. El código de IME verifica el InputType
en un bloque de conmutación y el diseño predeterminado del teclado se muestra si el InputType
no coincidí.
También puede proporcionar una lógica en onCreate()
método de tu Activity
para verificar qué método de entrada está activo y con esa información elige qué inputType
su EditText
debería tener.