¿Cómo puedo saber cuando un edittext perder el foco
Necesito coger cuando un EditText pierde el foco, he buscado en preguntas de los usuarios pero no encontré ninguna respuesta.
Yo uso focuschangelistener como este
- ¿Valores de diálogo y edittext de Android?
- Android: EditText en el cuadro de diálogo no abre el teclado virtual
- EditText Settext no funciona con Fragment
- Campo de contraseña numérica de Android
- Android: ¿Cómo puedo validar la entrada de EditText?
OnFocusChangeListener foco = new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub } };
Pero no funciona para mi
Gracias
- Cómo configurar el texto introducido en Android Studio 'EditText' a una variable?
- En Android, ¿cómo crear EditText de ancho fijo?
- ¿Cómo determinar si una entrada en EditText es un entero?
- Editar texto dentro de la vista de desplazamiento no se puede desplazar
- EditText no envolverá su texto
- Compruebe si EditText está vacío.
- ¿Cómo comprobar si un EditText en Android tiene emoticon o no?
- Prevención del enfoque automático de EditText en un AlertDialog
Implementar onFocusChange
de setOnFocusChangeListener
y hay un parámetro booleano para hasFocus. Cuando esto es falso, has perdido el foco en otro control.
EditText txtEdit = (EditText) findViewById(R.id.edittxt); txtEdit.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (!hasFocus) { // code to execute when EditText loses focus } } });
Haga que su Activity
implemente OnFocusChangeListener()
si desea un uso factorizado de esta interfaz, ejemplo:
public class Shops extends AppCompatActivity implements View.OnFocusChangeListener{
En su OnCreate
puede agregar un escucha, por ejemplo:
editTextReaserch.setOnFocusChangeListener(this); editTextMyWords.setOnFocusChangeListener(this); editTextPhone.setOnFocusChangeListener(this);
A continuación, el estudio de Android le pedirá que agregue el método de la interfaz, lo acepta … será como:
@Override public void onFocusChange(View v, boolean hasFocus) { // todo your code here... }
Y como usted tiene un código factorizado, sólo tendrá que hacer eso:
@Override public void onFocusChange(View v, boolean hasFocus) { if (hasFocus) { editTextReaserch.setText(""); editTextMyWords.setText(""); editTextPhone.setText(""); } if (!hasFocus){ editTextReaserch.setText("BlaBlaBla"); editTextMyWords.setText(" One Two Tree!"); editTextPhone.setText("\"your phone here:\""); } }
Cualquier cosa que el código en el !hasFocus
es para el comportamiento del elemento que pierde el foco, que debe hacer el truco! Pero tenga cuidado de que en tal estado, el cambio de enfoque podría sobrescribir las entradas del usuario!
- Cómo establecer programaticamente maxLength en Android TextView?
- RequestFeature () debe ser llamado antes de agregar contenido