Comment puis-je définir le focus (et afficher le clavier) sur mon EditText par programmation
J'ai une mise en page qui contient quelques vues comme ceci:
<LinearLayout>
<TextView...>
<TextView...>
<ImageView ...>
<EditText...>
<Button...>
</linearLayout>
Comment puis-je définir le focus (afficher le clavier) sur mon EditText
par programmation?
J'ai essayé et ça ne fonctionne que lorsque je lance mon Activity
normalement, mais lorsque je le lance dans un TabHost
, il ne fonctionne pas.
txtSearch.setFocusableInTouchMode(true);
txtSearch.setFocusable(true);
txtSearch.requestFocus();
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
http://developer.android.com/reference/android/view/View.html#requestFocus()
InputMethodManager.SHOW_FORCED
solution a vraiment un bug avec le bouton Home.utilisation:
View
sous-classe)imm.showSoftInput()
ne fonctionne pas.Cela a fonctionné pour moi,
Grâce à ungalcrys
Montrer clavier:
Cacher le clavier:
showSoftInput
n'a pas de travail pour moi.J'ai pensé que j'avais besoin de définir le mode de saisie :
android:windowSoftInputMode="stateVisible"
(ici dans l'Activité de la composante dans le manifeste)Espérons que cette aide!
tb.post({ showKeyboard(tb) })
). Notez que nous avons besoin d'un EditText vue (tb
), pas un fragment de la vue.Ici est de savoir comment un kotlin extension pour afficher et masquer le clavier virtuel peut être faite:
Alors vous pouvez simplement faire ceci:
Ici est KeyboardHelper Classe pour le masquage et l'affichage du clavier
Première:
Deuxième façon:
Dans Le Manifeste:
Dans le code:
Je n'arrivais pas à obtenir une de ces réponses afin de travailler sur leur propre. La solution pour moi a été de combiner entre eux:
Je ne sais pas pourquoi c'était nécessaire pour moi. -- d'après la documentation, il semble que la méthode doit avoir travaillé sur leur propre.