Je suis confronté à un problème. Les champs nom d'utilisateur et mot de passe sont actifs. Maintenant, lorsque je clique sur le nom d'utilisateur, le clavier apparaît, mais aucun bouton suivant ne s'affiche et je ne peux pas passer au contrôle suivant Edittext via le clavier. Dans ce cas, le clavier affiche le bouton entrer comme attaché en capture d'écran qui augmente sa hauteur,
Quelqu'un peut-il me guider quelle est la solution à ce problème (pour afficher le bouton suivant sur edittext)?
Mon code
txtUserid = (EditText)findViewById(R.id.txtUserID);
txtUserPasword = (EditText)findViewById(R.id.txtPassword);
txtUserid.setNextFocusDownId(R.id.txtPassword);
txtUserPasword.setNextFocusDownId(R.id.btnLogin);
ajoutez ces lignes ci-dessous les lignes de code que vous avez fournies:
txtUserid.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER))
{
// Perform action on Enter key press
txtUserid.clearFocus();
txtUserPasword.requestFocus();
return true;
}
return false;
}
});
txtUserPasword.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER))
{
// Perform action on Enter key press
// check for username - password correctness here
return true;
}
return false;
}
});
Ajouter Android:singleLine="true" Android:nextFocusDown="@+id/textView2"
sur votre xml . Affiche la clé suivante et se concentre également sur le champ suivant.
Dans votre mise en page, définissez simplement les attributs XML Android:imeOptions="actionNext"
pour vos trois premières zones de texte et Android:imeOptions="actionDone"
pour la dernière.
Une autre meilleure solution serait:
Android:singleLine="true"
Android:imeOptions="actionNext"
Si votre EditText est censé avoir une seule ligne, ajoutez l'attribut Android:singleLine="true"
sur votre XML, cela supprimera la clé Entrée et le remplacera par le bouton Next/Done.
ajoutez votre mise en page xml,
supposons que tu veux 4 edittext en rangée donc trois premiers editext u mis en dessous,
Android:imeOptions="actionNext"
et le dernier editext u set
Android:imeOptions="actionDone"
vous ajoutez la ligne alors ajoutez, utilisez
Android:singleLine="true"
utiliser cet attribut:
Android:inputType="textPersonName"
Ajouter
Android: inputType = "text"
ligne dans votre balise edittext. et votre problème sera résolu.
Ajoutez simplement Android: singleLine = "true" à la balise EditText dans le layout XML.
Ajoutez simplement Android: singleLine = "true" vous n'avez pas besoin de ce code pour cela
Vous devez prendre soin de peu de choses:
Android:singleLine="true"
. Android:nextFocusDown="@+id/tv2"
sur votre XML. Android:imeOptions="actionNext"
, sinon il remplacera deux attributs.Android:singleLine="true"
est obsolète
utilisation
Android:maxLines="1"
Android:inputType="text"
au lieu