Bonjour à tous, je suis en train de créé une application Modèle/Vue/Controleur, et j'aurais besoin de mettre ma gestion d'appuie sur la touche MENU et BACK dans une classe Controleur.
J'aimerais donc savoir est ce qu'il existe une classe ,genre OnKeyListener, qui permettrait de remplacer la fonction OnKeyDown(int keyCode,KeyEvent event) de mon activity.
J'ai trouver une interface view.OnKeyListener mais je crois qu'elle permet juste d'associer l'appuie d'un élément de la view à un comportement donné et ne permet pas d'associer un comportement aux touches MENU et BACK (d'après ce que j'ai compris, après j'ai peut-être mal compris son utilisation).
Voici mon code pour mon view.OnKeyListener.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 public class ControlerOnKeyDown implements OnKeyListener { private AppMdl model; private AppView view; public ControlerOnKeyDown(AppMdl model, AppView view) { this.model = model; view.setOnKeyListener(this); } @Override public boolean onKey(View v, int keyCode, KeyEvent event) { Log.i("Projet MVC SmartLAI", "KEY_DOWN : " + keyCode + "\n"); if (keyCode == KeyEvent.KEYCODE_BACK) { model.changeState(keyCode); return true; } else if (keyCode == KeyEvent.KEYCODE_MENU) { model.changeState(keyCode); return true; } //return super.onKey(v,keyCode, event); return false; } }
Partager