2013-08-13 8 views
0

J'ai un EditView et j'ai ajouté:EditView effectuer une action sur un clic

android:imeActionLabel="Go" 

Cette montre bouton « Go » dans le clavier, mais je ne sais pas comment effectuer une action lorsque l'utilisateur clique " Allez "bouton".

Y at-il une solution à ce sujet, si oui, comment puis-je le faire?

Répondre

3

EditText.OnEditorActionListener est ce que vous cherchez, la documentation API peut être trouvé here. L'action qui sera appelée pour le bouton GO est EditorInfo.IME_ACTION_GO. J'ai fourni un bref exemple ci-dessous.

editText.setOnEditorActionListener(new OnEditorActionListener() 
{ 
     @Override 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) 
     { 
      if(actionId==EditorInfo.IME_ACTION_GO) 
      { 
        //Handle go button pressed 
      } 
      return false; 
     } 
}); 
+0

Il montre cette erreur à 'OnEditorActionListener()': Le type nouveau TextView.OnEditorActionListener() {} doit mettre en œuvre la méthode abstraite héritée TextView.OnEditorActionListener.onEditorAction (TextView, int, KeyEvent) – Enve

+0

Oui, vous doit implémenter la méthode que j'ai ci-dessus (onEditorAction), celle qui est surchargée. Si vous copiez le code ci-dessus et remplacez "editText" par le nom de votre EditText, cela fonctionnera comme prévu. Ou vous pouvez laisser la classe que vous écrivez dans l'outil OnEditorActionListener si vous en avez plusieurs et qu'elles sont statiques. – MCWhitaker

+0

J'ai ajouté tout le code ici: http://jsfiddle.net/enve/s8n8s/. S'il vous plaît, vérifiez simplement ce que je fais de mal. – Enve

Questions connexes