editText ne perd pas le focus
l'editText est de ne pas perdre le focus de mon application quand je clique en dehors de ça, il a la bordure orange tous les temps et que le noir de la ligne du curseur..
Je l'ai fait un LinearLayout en fonction de ce qui entoure le editText:
Arrêter EditText de gagner de l'accent à l'Activité de démarrage
donc, il ne veut pas se concentrer sur le début de l'application..
c'est mon code:
final EditText et = (EditText)findViewById(R.id.EditText01);
final InputMethodManager imm = (InputMethodManager) getSystemService(
INPUT_METHOD_SERVICE);
et.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT);
}
});
et.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasfocus) {
if(hasfocus) {
imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT);
} else {
imm.hideSoftInputFromWindow(et.getWindowToken(), 0);
}
}
});
Mais, il ne semble pas à l'appel de la onFocusChange quand je clique n'importe où à l'extérieur de l'editText!
source d'informationauteur mnio
Vous devez vous connecter pour publier un commentaire.
C'est simple. Vous pouvez mettre ceci dans LinearLayout ou tout autre autre:
Remplacer
Activity.dispatchTouchEvent()
:De cette façon, chaque fois que quelqu'un clique n'importe où, vous avez le contrôle, et c'est à un seul point dans le code.
Créer un
onClick
à l'écoute, peut-être dans votre XML de mise en page pour écouter les clics en arrière-plan LinearLayout. De là, vous pouvez appeler.clearFocus()
sur votreEditText
après vous en faire une variable d'instance de l'activité de travail.Vous pouvez supprimer le focus de l'EditText, par définir le focus à un autre domaine, par l'appel de la méthode.
Supposons que j'ai mis le focus sur bouton de retour sur le clic du bouton, puis d'appeler la méthode sur le bouton de retour à l'intérieur de fait, cliquez sur le bouton de l'écouteur.
Et votre problème est résolu.