2010-06-25 9 views
0

J'essaye d'exécuter une presse de souris d'événement dans mon application android. Lorsque l'utilisateur entre un retour chariot lors de la saisie de texte dans un champ de texte. Je voudrais exécuter une pression de bouton de souris sur un bouton ADD quand ce caractère est détecté dans mon OnClickListener pour cet ui EditText.Android simuler appuyez sur le bouton

Répondre

0

Peter -

Cela ressemble à ce que vous voulez faire est de passer outre la EditorAction pour la donnée EditText, puis exécuter par programme la même action que le OnClickListener. Par exemple:

EditText inputText; //This is either created in code or inflated via XML 
Button addButton; //This is either created in code or inflated via XML 

inputText.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
    @Override 
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
     addButton.performClick(); 
     //Tell the system you consumed the action event 
     return true; 
    } 
}); 

Le actionID peut être une propriété utile aussi, car il signale l'action spécifique (DONE, NEXT, etc.) en fonction de la méthode du clavier souple ... mais montré garder à l'esprit que si le L'utilisateur appuie sur Entrée à partir d'un clavier matériel, l'action sera TOUJOURS EditorInfo.IME_NULL, il est donc inutile de surveiller cette valeur.

Il s'agit d'une méthode plus sûre que de remplacer les écouteurs KeyEvent, car vous courez moins de risques de consommer des événements que vous ne voulez pas et que vous ne saviez pas que vous avez volés.

Espérons que ça aide!

Questions connexes