OnTouchListener : Afficher le clavier
Bonjour,
Je souhaiterais faire afficher le clavier lorsqu'on appui sur une zone de texte, mais je n'y arrive pas totalement. Pourtant, le code me semble correct.
J'utilise bien un OnTouchListener sur la zone de texte, et celui-ci fonctionne (il affiche un Toast).
Pour afficher le clavier, j'utilise les lignes ci-dessous, et elles marchent très bien dans un OnFocusChangeListener, mais pas dans le OnTouchListener.
Autres précisions :
- Le clavier s'affiche tout seul lorsque je clique sur une autre zone de texte, dans un alertDialog (puis le clavier se masque lorsque l'alertDialog se termine).
- J'ai essayé d'afficher le clavier (via ces deux lignes) lors d'appui sur un bouton, ça ne marche pas non plus...
Code:
final InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| // Affiche le Toast mais n'affiche pas le clavier
textview.setOnTouchListener(new OnTouchListener()
{
public boolean onTouch(View v, MotionEvent event)
{
if (v == textview)
{
mgr.showSoftInput(v, InputMethodManager.SHOW_IMPLICIT);
Toast.makeText(getApplicationContext(), "touch", 1).show();
}
return false;
}
}); |
Les deux éléments (le listenner, et le code pour afficher le clavier) fonctionnent, mais ensemble, pour une raison que j'ignore, ça ne veux pas marcher.
Y-a-t'il une erreur dans mon code ?
Ou sinon, existe-t'il une autre méthode ?
Merci d'avance.