web-dev-qa-db-fra.com

Android Bouton d'action du clavier logiciel

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?

35
Venkat Papana

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 .

69
Martin Stone

Ajouter Android:singleLine="true" dans votre bouton xml

2
Aneh Thakur

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).

1