juego - Retorno de la clave de edición de Android para el texto siguiente
god of war ppsspp apk (6)
Tengo una serie de entradas EditText y me gustaría que cuando el usuario presione la tecla Enter vaya al siguiente Editext. Sé cómo hacer esto a la vez, pero ¿hay alguna manera de decirle a todos los controles de texto de edición que utilicen la misma función que verifica la entrada de la tecla y avanza el cursor? Parece una locura tener una función para cada uno de los EditTexts
Añadiendo
android:inputType="text"
en XML es suficiente. Cuando no está definiendo el tipo de entrada, pasa a la siguiente línea.
Agregue las siguientes líneas en EditText
android:singleLine="true"
android:maxLines="1"
Aplicar este estilo personalizado en styles.xml
<style name="SingleLineText">
<item name="android:inputType">text</item>
<item name="android:maxLines">1</item>
</style>
y luego configúralo en EditText como este
style="@style/SingleLineText"
Para un enfoque alternativo o más nuevo para la respuesta dada por Yoni ...
Dado que la singleLine
es deprecated , podemos establecer manualmente en android:maxLines="1"
con android:inputType="text"
.
Pequeña explicación:
- Usamos
android:inputType="text"
para tratar específicamente la entrada como texto sin formato . - Y usamos
android:maxLines="1"
para establecer las líneas máximas del texto en 1 (como sugiere).
Usar maxLines="1"
solo, no causará ningún efecto, pero inputType="text"
solo también puede funcionar, como menciona Adam (aunque no lo he comprobado).
Podría intentar agregar un único detector de eventos a todos sus objetos editText:
OnKeyListener myKeyListener = new OnKeyListener() {
@Override
public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
// TODO: do what you got to do
return false;
}
};
editText1.setOnKeyListener(myKeyListener);
editText2.setOnKeyListener(myKeyListener);
editText3.setOnKeyListener(myKeyListener);
Mucho más simple que olfatear claves: intente configurar android:singleLine="true"
y android:imeOptions="actionNext"
(al menos para textviews de entrada de línea única). Lea más en la documentation Android para TextView.
Actualización: singleLine
está en deprecated ahora, pero puede dejarlo fuera. Es el comportamiento predeterminado para el texto editable siempre y cuando no establezca explícitamente android:inputType="textMultiLine"
, y inputType
anula el reemplazo de maxLines="1"
sugerido de maxLines="1"
para el texto editable de todos modos.