Make editText perder el foco en la parte posterior de la prensa
En mi actividad, tengo un campo editText. Cuando el usuario hace tapping en él, el editText gana el foco y aparece el teclado. Ahora, cuando el usuario presiona el botón de hardware atrás en el teléfono, el teclado desaparece, pero el cursor permanece en el Editext, es decir, todavía tiene el foco. ¿Es posible hacer que el EditText pierda el foco cuando se pulsa el botón Back? He intentado usar el siguiente código, pero no funcionó:
@Override public void onBackPressed() { vibrator.vibrate(Constants.DEFAULT_VIBRATE_TIME); myEditText.clearFocus(); super.onBackPressed(); }
- Cómo establecer sólo un valor numérico para edittext en android?
- Cambiar el carácter de máscara de la contraseña de EditText a asterisco (*)
- Cómo EditarTexto Conserva su valor pero no visualiza texto cuando cambia la orientación del teléfono?
- Editar texto Cambiar contraseña Android
- ¿Cómo eliminar a EditText drawable padding?
- Borrado del texto introducido anteriormente en el campo EditarTexto
- Cómo deshabilitar auto-complete y auto-correct de EditText
- EditText extraño accidente en LG Optimus w / Swype (funciona en el emulador y Droids)
- Establecer color del cursor EditText
- Mantener el estado del objeto cuando el usuario presiona el botón "Atrás"
- Debe llamar a removeView () en el padre del niño primero con AlertView
- el cursor en la pista EditText no comienza desde la derecha para el árabe
- Dibujar varias líneas en edittext, por ejemplo, bloc de notas
Sólo ampliar EditText:
public class EditTextV2 extends EditText { public EditTextV2( Context context ) { super( context ); } public EditTextV2( Context context, AttributeSet attribute_set ) { super( context, attribute_set ); } public EditTextV2( Context context, AttributeSet attribute_set, int def_style_attribute ) { super( context, attribute_set, def_style_attribute ); } @Override public boolean onKeyPreIme( int key_code, KeyEvent event ) { if ( event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP ) this.clearFocus(); return super.onKeyPreIme( key_code, event ); } }
Y en el xml sólo usa <yourPackage.EditTextV2>
lugar de <EditText>
.
Nota: Es posible que deba agregar o quitar constructores a esta clase en función de la API min que está soportando. Sugiero que acaba de agregar todos ellos y la eliminación de los que super()
llamadas se subrayó en rojo.
Puede hacer que otra de sus Views
pueda enfocar, por ejemplo un ImageView
. Asegúrate de hacerlo enfocable en modo táctil, usando setFocusableInTouchMode(true)
y on onResume()
haz que View
a requestFocus()
.
También puede crear una View
ficticia con 0 dimensiones y realizar los mismos pasos descritos anteriormente.
Espero que esto ayude.
Añadir vista como la siguiente superior a su EditText:
<LinearLayout android:layout_width="0px" android:layout_height="0px" android:focusable="true" android:focusableInTouchMode="true" />
También para ocultar el teclado, agrega esto en onBackPressed ():
((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
- Ronda de Android en una imagen de fondo de Presentaciones, sólo las esquinas superior o inferior
- ¿El android tiene * nativo * imagen de la ayuda SVG como recursos drenables (iconos)?