J'utilise un custom in-app keyboard, je dois donc désactiver le clavier du système. Je peux le faire avecComment activer le clavier au toucher après l'avoir désactivé avec setTextIsSelectable
editText.setShowSoftInputOnFocus(false);
pour Android API 21+. Mais pour faire la même chose jusqu'à API 11, je fais
editText.setTextIsSelectable(true);
Parfois, je veux montrer le clavier du système à nouveau après la désactivation avec setTextIsSelectable
. Mais je ne peux pas comprendre comment. Les actions suivantes montrent le clavier du système, mais si l'utilisateur masque le clavier et clique à nouveau sur EditText, le clavier ne s'affiche toujours pas.
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, 0);
Je suppose que je pouvais faire editText.setOnFocusChangeListener
puis afficher manuellement ou masquer le clavier du système, mais je préférerais défaire tout ce qui a fait setTextIsSelectable
. Ce qui suit ne fonctionne pas non plus:
editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
editText.setClickable(true);
editText.setLongClickable(true);
Comment faire?