7
votes

Android Entrer à l'écoute de clé

Quelqu'un peut-il m'aider avec une touche logicielle d'écoute d'entrée de touche?

J'ai besoin d'un auditeur de clé Entrée comme un auditeur de boutons qui aurait quelques auditeurs Editeext à l'intérieur comme ceci p> xxx pré>

J'ai aussi besoin de savoir si quelque chose comme ça est correct? p>

editext.setOnKeyListener(new View.OnKeyListener() {
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        if (keyCode == KeyEvent.KEYCODE_ENTER) {
            if ("test1".equalsIgnoreCase(anstext.getText().toString())) {
                but4.performClick();
            }
        } else if ("test2".equalsIgnoreCase(editext.getText().toString())) {
            but5.performClick();
        }
        if ("test5".equalsIgnoreCase(editext.getText().toString())) {
            but6.performClick();
        }
        if ("test7".equalsIgnoreCase(editext.getText().toString())) {
            but7.performClick();
        }
        if (editext.getText().toString() != null) {
            testwrong.seText("wrong");
        }
        return true;
    }
});


1 commentaires

Veuillez formater votre code avant de poster.


3 Réponses :


0
votes

1 commentaires

Veuillez fournir plus que des réponses de lien, car les liens peuvent se casser ou leur changement de contenu au fil du temps



10
votes

Si vous souhaitez attraper l'utilisateur, appuyez sur Entrer kbd> Enregistrez KBD> Registre Onkeylistener > sur votre Editext CODE>

if (editext1.getText().toString() != null && !editext1.getText().toString().isEmpty()) {
  // doSomething
}


9 commentaires

J'aime ça, mais comment puis-je obtenir si du texte à la chaîne dans la zone de texte Modifier une fois la touche ENTER enfoncée?


Vous souhaitez obtenir du texte dans editext à l'heure de l'utilisateur, appuyez sur Entrée ?


Je veux dire si Modifier la zone de texte a un mot "Test1" en elle pendant que la touche Entrée est enfoncée, puis effectuez un bouton Cliquez sur le bouton 3, merci


Merci pour cela je vais essayer cela ce soir


J'ai constaté que j'avais une demande pour qu'il soit retourné, j'ai essayé le code ci-dessous, mais la valeur nulle tenue en cours de traitement lorsque je frappe Entrée.


@ C0DEXE: Venez à ce Chambre . Je vous aide.


Laissez-nous Continuer cette discussion en chat


Soyez prudent que le bouton arrière compte comme une clé. ONKEY () Intercepter OnBackPressed () et ne vous permettra pas d'utiliser le bouton arrière pour quitter l'application.


Juste une note que vous voudrez vérifier le type d'action, sinon le code sera appelé deux fois; Une fois sur bas et une fois sur up: keycode == keevent.keycode_enter && événement.getaction () == keevent.action_down



24
votes

Dans votre editext code> Vous devez spécifier l'action du clavier à l'aide de IMÉOPTIONS .

 EditText editText = (EditText) findViewById(R.id.query);
 editText.setOnEditorActionListener(new OnEditorActionListener() {
            public boolean onEditorAction(TextView v, int actionId,
                    KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_GO) {

                        return true;
                    }
                    return false;
                }
            });


0 commentaires