OnEditorAction () n'est pas appelé après la touche Enter a été pressée sur l'émulateur Jelly Bean

J'ai un problème avec le comportement du dernier émulateur de Jelly Bean. J'ai plusieurs EditTexts dans mon application. Un OnEditorActionListener offre une gestion particulière lorsqu'un utilisateur appuie sur la touche ENTRÉE du clavier. Cela a fonctionné jusqu'à ICS, mais maintenant, Jelly Bean, la méthode de rappel de l'auditeur onEditorAction() n'est plus appelée. Seule une nouvelle ligne est insérée dans EditText .

Cela peut être reproduit de cette façon:

  • Android Studio a échoué la valeur de sortie du projet NDK du projet NDK
  • Android Java: Comment soustraire deux fois?
  • Erreur de cheminée sur la construction Android dans le projet cordova
  • Jenkins build échoué en raison du SDK Android manquant
  • ClassNotFoundException pour SignInConfiguration lors de la connexion avec Google
  • Quelle est la différence entre removeAllViews () et removeAllViewsInLayout ()
  •  EditText testEditText = new EditText(context); testEditText.setOnEditorActionListener(new OnEditorActionListener() { public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { Log.d(TAG, "onEditorAction() called"); return false; } }); addView(testEditText); 

    Est-ce un bug dans Jelly Bean? Ou dans l'émulateur? Ou le comportement a-t-il été modifié intentionnellement?

    Curieusement, quelqu'un d'autre écrit que la méthode est appelée, mais avec des paramètres inattendus, sur un Nexus 7 exécutant Jelly Bean ici: null keyevent et actioned = 0 in onEditorAction () (Jelly Bean / Nexus 7)

  • Bouton radio avec image en option au lieu de texte
  • L'application redémarre plutôt que de reprendre
  • Intellij IDEA - Afficher le mot de passe sauvegardé
  • Rétrofit + okhttp: récupérer GZIPInputStream
  • Puis-je utiliser l'application Android pour suivre les activités des utilisateurs?
  • Impossible de résoudre: com.android.support:support-v4:23.0.0
  • One Solution collect form web for “OnEditorAction () n'est pas appelé après la touche Enter a été pressée sur l'émulateur Jelly Bean”

    Si quelqu'un d'autre trouve cette question:

    J'ai testé cela plusieurs fois et, sur l'émulateur Jelly Bean, la méthode de rappel d'écoute onEditorAction () n'est plus appelée quand la touche Enter est pressée sur le clavier virtuel.

    Comme je l'ai mentionné plus haut, une solution ou une solution possible est de remplacer la touche Entrée par l'une des touches d'action disponibles. Ceux-ci déclenchent encore surEditorAction (). J'ai également dû spécifier le type d'entrée.

     editText.setRawInputType(InputType.TYPE_CLASS_TEXT); editText.setImeOptions(EditorInfo.IME_ACTION_GO); 
     <EditText ... android:imeOptions="actionGo" android:inputType="text" /> 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.