lors de l'utilisation de AlertDialog.Builder avec EditText, le Clavier n'est pas de la pop
Je suis en utilisant AlertDialog.Générateur de afin de créer une zone de saisie, avec EditText comme la méthode de saisie.
Malheureusement, le Clavier n'est pas de la pop, bien que la EditText est mise en avant, à moins que vous ne touchez de nouveau.
Est-il un moyen de le forcer à pop?
J'ai essayé ce qui suit, après l' (AlertDialog.Le générateur).show ();, mais sans succès.
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.showSoftInput(input, InputMethodManager.SHOW_FORCED);
Quelqu'un peut aider?
Merci!!
- veuillez formater votre code source.
- Ensuite, j'ai upvote vous aussi 🙂 j'ai eu le même problème de recherche pour plusieurs heures et la dernière réponse de grine4ka fonctionne très bien
Vous devez vous connecter pour publier un commentaire.
J'ai fait une telle chose
OnFocusChangeListener
approches semblent beaucoup pour moi et causer des problèmes. Vous devez créer laAlertDialog
de laAlertDialog.Builder
!SOFT_INPUT_STATE_UNCHANGED
fonctionne également si votre clavier est déjà visible avant de dialogue pop-up.setSoftInputMode
ligne avantdialog.show()
ou il ne fonctionnera pas. +1 pour la simple et bonne solution btwJ'ai réussi à le résoudre comme ceci:
J'ai découvert que le même code fonctionne correctement sur la Tablette, le clavier ne pop up, mais sur le Téléphone, il n'a pas, si la recherche plus loin, semble pointer vers le "régler" option.
Je suis en utilisant cela, se sent beaucoup plus propre.
SOFT_INPUT_STATE_ALWAYS_VISIBLE
. CommeSOFT_INPUT_STATE_ALWAYS_VISIBLE
va bloquer les composants de l'INTERFACE utilisateur de la boîte de dialogue, oùSOFT_INPUT_ADJUST_RESIZE
capable de redimensionner et de "push up" de la boîte de dialogue.Dans mon cas, la seule façon que j'ai été en mesure d'afficher le clavier lorsque la boîte de Dialogue a été indiqué est par l'ajout, à mon
DialogFragment
:Note le SOFT_INPUT_STATE_ALWAYS_VISIBLE au lieu de SOFT_INPUT_STATE_VISIBLE.
À partir de la documentation:
Lorsque vous appelez showDialog pour afficher un Dialogue créé à l'aide de AlertDialog dans onCreateDialog
Vous devez mettre le code ici
Une bien meilleure solution est donnée ici.
Aucune solution de contournement.
EditText
se comporte comme prévu.Ce fut répondu ici déjà. À l'aide d'un OnFocusChangeListener a fonctionné pour moi.
Essayer cela, son travail pour moi
Si vous souhaitez afficher le clavier virtuel:
Et si vous souhaitez masquer le il: