58 votes

Android: bouton Modifier le texte

J'ai un texte d'édition qui est défini comme suit.

 <EditText  
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
android:maxLines="1"
android:inputType="text" 
android:hint="@string/field_text"
android:id="@+id/field"
/>
 

Je souhaite définir une commande personnalisée pour que lorsque quelqu'un clique sur le bouton Terminé / OK du clavier à l'écran, il clique sur un bouton ou exécute simplement les méthodes exécutées par le bouton. Je pense que cela a quelque chose à voir avec les options ime mais je n'ai pas été capable de comprendre comment elles fonctionnent. Merci d'avance pour votre aide!

135voto

nsheridan Points 721

Vous voulez une combinaison d'androïde: imeOptions et setOnEditorActionListener

 <EditText android:id="@+id/some_edittext"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:imeOptions="actionSend">
</EditText>


some_edittext.setOnEditorActionListener(new OnEditorActionListener() {
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_SEND) {
            some_button.performClick();
            return true;
        }
        return false;
    }
});
 

Évidemment, vous devez changer actionSend en action désirée et mettre à jour IME_ACTION_SEND en conséquence.

0voto

adamp Points 19097

Jetez un oeil à l' setImeActionLabel (ou imeActionLabel et imeActionId attributs) et setOnEditorActionListener pour définir un écouteur pour répondre aux événements.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X