IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Gestion des touches


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 33
    Points : 28
    Points
    28
    Par défaut Gestion des touches
    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;
    	}
     
    }

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 168
    Points : 212
    Points
    212
    Par défaut
    Pourquoi tu veux remplacer le onkeydown alors qu'il fait bien son boulot ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    D'une part, question de principe notre activity ne devrait pas avoir un rôle de contrôleur, et d'autres part, parce que le programme est destiné à avoir plusieurs activity.

    Enfin, je suis stagiaire donc quand ton patron te demande quelques chose ben faut le faire ^^.

  4. #4
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 604
    Points : 18 520
    Points
    18 520
    Par défaut
    Je ne suis pas sûre d'avoir compris.
    Mais si ce qui te dérange c'est d'avoir le même code d'en plusieurs Activities, tu peux créer une classe qu'extends Activity, mettre ta méthode OnKeyDown(int keyCode,KeyEvent event).

    Et après au lieu que tes Activities extends Activity elle le feront avec ta nouvelle classe.
    Keith Flint 1969 - 2019

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 168
    Points : 212
    Points
    212
    Par défaut
    Citation Envoyé par thierrybenji Voir le message
    Je ne suis pas sûre d'avoir compris.
    Mais si ce qui te dérange c'est d'avoir le même code d'en plusieurs Activities, tu peux créer une classe qu'extends Activity, mettre ta méthode OnKeyDown(int keyCode,KeyEvent event).

    Et après au lieu que tes Activities extends Activity elle le feront avec ta nouvelle classe.
    C'est ce que j'aurais fait

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    Ouai c'est ce que j'ai déjà fait :-p !
    Mais le boss sa lui va pas en fait ...

    Faudrait que j'arrive à séparer cette partie controler de mon activity.

    Après j'ai penser à créé une classe dans laquelle j'aurais une fonction prenant en paramètre (int keyCode, KeyEvent event) et que j'appellerais dans mon onKeyDown.

    L'application devra aussi avoir plusieurs view et il faudra pouvoir y associé un comportement particulier pour chaque view et je crois que sa serait plus pour sa qu'il faudrait séparer cette partie de mon activity.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    Désoler pour le double message mais je pense qu'on peut clore le sujet je cherche depuis ce matin et ma solution aura été d’appeler une fonction de ma classe ControlerKey, KeyDown(int keyCode) dans laquelle je fais les traitements nécessaires pour mon application et je rajouterais ensuite dans mon application la notion de view courante pour changer le comportement de ma fonction en

    Merci à vous deux pour vos réponses !!!

Discussions similaires

  1. gestion des touches du clavier
    Par ines1 dans le forum C++
    Réponses: 5
    Dernier message: 27/01/2007, 20h37
  2. [SDL] Gestion des touches claviers problématique
    Par Invité4 dans le forum SDL
    Réponses: 3
    Dernier message: 13/10/2006, 21h15
  3. Gestion des touches clavier
    Par bourinator dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 18/06/2006, 16h19
  4. [TP]Problème dans la gestion des touches d'un tetris
    Par Guile0 dans le forum Turbo Pascal
    Réponses: 18
    Dernier message: 31/01/2005, 22h40
  5. [DirectInput] Gestion des touches en mode fenêtré
    Par Harry_polin dans le forum DirectX
    Réponses: 8
    Dernier message: 19/03/2003, 17h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo