Quelqu'un peut-il me suggérer un événement lié à l'objectif de la EditText
? Mon application contient un EditText
qui accepte une URL.
Maintenant, mon problème est que, après que l'utilisateur entrera l'URL dans le champ et se déplacera plus loin, sans aucun événement click, c'est-à-dire que lorsque le focus passera du EditText
, il devrait détecter l'URL entrée et disparaître. au serveur.
Si je reçois la réponse en utilisant l'analyse Json, ce sera plus pratique.
Voici l'exemple d'auditeur de focus.
editText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFocus) {
if (hasFocus) {
Toast.makeText(getApplicationContext(), "Got the focus", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "Lost the focus", Toast.LENGTH_LONG).show();
}
}
});
Déclarez l'objet de EditText au sommet de la classe:
EditText myEditText;
Recherchez EditText dans onCreate Function et setOnFocusChangeListener de EditText:
myEditText = findViewById(R.id.yourEditTextNameInxml);
myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFocus) {
if (!hasFocus) {
Toast.makeText(this, "Focus Lose", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this, "Get Focus", Toast.LENGTH_SHORT).show();
}
}
});
Ça fonctionne bien.
Pour ceux d'entre nous pour qui cette solution valable ci-dessus ne fonctionnait pas, il existe une autre solution de contournement ici
searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean isFocused) {
if(!isFocused)
{
Toast.makeText(MainActivity.this,"not focused",Toast.LENGTH_SHORT).show();
}
}
});
quand à Kotlin cela ressemblera à ceci:
editText.setOnFocusChangeListener { view, hasFocus ->
if (hasFocus) toast("focused") else toast("focuse lose")
}