web-dev-qa-db-fra.com

setImeOptions: pourquoi le bouton "Terminé" n'apparaît pas sur le clavier virtuel?

J'essaie de définir le bouton "Terminé" sur le clavier logiciel en utilisant input.setImeOptions (EditorInfo.IME_ACTION_DONE);

mais le bouton "Terminé" n'apparaît tout simplement pas sur le clavier logiciel.

Une suggestion s'il vous plaît?

public void modif(int position) {
    AlertDialog.Builder alert = new  AlertDialog.Builder(MainActivity.this);
    alert.setTitle("Modifica");
    EditText input = new EditText(MainActivity.this);
    input.setImeOptions(EditorInfo.IME_ACTION_DONE);
    alert.setView(input);
    final Editable value = input.getText();
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {  
        public void onClick(DialogInterface dialog, int whichButton) {
            Toast.makeText(getApplicationContext(), value,   Toast.LENGTH_LONG).show();
        }
    });

    alert.setNegativeButton("Cancel", new     DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
        // Canceled.
        }
    });
    alert.show();                   
}
31
Lisa Anne

C'est probablement parce que votre champ de saisie n'est pas simple.

Essayez d'ajouter

input.setSingleLine();

Et vous verrez que le fait d'appuyer sur la touche d'action du clavier exécutera en fait une action `` terminée '' (c'est-à-dire fermer le clavier)

Voir http://developer.Android.com/reference/Android/view/inputmethod/EditorInfo.html#IME_ACTION_DONE

60
sdabet