Ma mise en page a 4 vues EditText et une vue Button d'envoi. J'ai besoin d'avoir le bouton "Suivant" pour les 3 premiers EditText et un bouton "Terminé" pour le 4ème champ EditText à la place d'une touche "Nouvelle ligne" du clavier virtuel.
Comment cela peut-il être fait?
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 le dernier.
Voir: Android: documentation imeOptions
En outre, il y a un petit exemple XML dans le documents de formation .
Ajouter Android:singleLine="true"
dans votre bouton xml
Je pense que ce que vous recherchez est quelque chose comme ceci:
EditText nextText = new EditText(this)
{
@Override
public InputConnection onCreateInputConnection(final EditorInfo outAttrs)
{
outAttrs.imeOptions |= EditorInfo.IME_ACTION_NEXT;
return (super.onCreateInputConnection(outAttrs));
}
};
EditText doneText = new EditText(this)
{
@Override
public InputConnection onCreateInputConnection(final EditorInfo outAttrs)
{
outAttrs.imeOptions |= EditorInfo.IME_ACTION_DONE;
return (super.onCreateInputConnection(outAttrs));
}
};
Dans un premier temps, l'utilisateur amènera l'utilisateur au champ suivant de la mise en page qui accepte le texte. Le second fermera l'IME (le clavier logiciel).