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

Composants graphiques Android Discussion :

Probleme avec un menu (inflate)


Sujet :

Composants graphiques Android

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 104
    Par défaut Probleme avec un menu (inflate)
    Bonjour,

    J'ai un probleme avec la création d'un menu, en effet j'ai une erreur sur le "inflate" (partie en gras et en italique) : The method inflate(int, Menu) in the type MenuInflater is not applicable for the arguments (int, Menu)

    Alors que le même code avec la même méthode marche sur une autre classe ....

    Savez vous pourquoi ?


    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
    	public boolean onCreateOptionsMenu(Menu menu){
        	
        	MenuInflater inflater =getMenuInflater();
        	inflater.inflate(R.menu.menuprincipal, menu);
        	return true;
        }
        
        public boolean onMenuItemSelected(int featureId,MenuItem item){
        	
        	switch (item.getItemId()){
           	case R.id.Regles:
           		Toast.makeText(this,"pour jouer cliquez sur new game et selectionner une taille de grille, puis trouvez les paires !",Toast.LENGTH_SHORT).show();
           		return true;
           		
           	case R.id.Quitter:
           		finish();
           		return true;
           		
           	case R.id.Auteur:
           		Toast.makeText(this,"moi",Toast.LENGTH_SHORT).show();
           		
           	}
           	return super.onMenuItemSelected(featureId, item);
           		
           	}

    Merci d'avance.

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Tu as quoi comme import dans cette classe ?

    Il te faut cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    import android.view.Menu;
    import android.view.MenuInflater;

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 104
    Par défaut
    Merci pour ta réponse

    Je les ai , voici la liste : (avec une erreur sur : import android.view.Menu ... je sais pas pq)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.Toast;

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 104
    Par défaut
    Après recherches supplémentaire (internet, forum, faq android), je ne trouve personne n'ayant rencontré le même problème ... Ce qui est plutôt étrange.
    Je vais donc continuer à fouiller et vous posterais la solution si jamais je la trouve.


  5. #5
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    avec une erreur sur : import android.view.Menu ... je sais pas pq
    Essaye peut être de faire un clean ou refresh sur ton projet .

    Tu as quoi sinon comme erreur sur cet import ?

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 104
    Par défaut
    Merci de ta réponse

    Elle apparaît sans que je sache pourquoi, pour l'instant j'ai réussi à l'enlever grâce au clean merci à toi (en espérant qu'elle revienne pas).
    Cependant l'erreur sur le "inflate" est toujours là ...

  7. #7
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 245
    Par défaut
    Il faut que tu donnes l'erreur que tu as précisément.
    Et peut être un peu plus de codes.

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 104
    Par défaut
    okay, voici donc ma classe complete (elle me sert au menu principal en gros) :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    package com.aviy.memory;
     
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.Toast;
     
     
    //allez voir dans le manifest pour l'ordre d'affichage des layout
     
    //menu de base de l'application
    public class Menu extends Activity implements OnClickListener {
     
    	Button Facile = null;
    	Button Difficile=null;
     
    	/** Called when the activity is first created. **/
     
    	public boolean onCreateOptionsMenu(Menu menu){
     
        	MenuInflater inflater =getMenuInflater();
        	inflater.inflate(R.menu.menuprincipal, menu);
        	return true;
        }
     
        public boolean onMenuItemSelected(int featureId,MenuItem item){
     
        	switch (item.getItemId()){
           	case R.id.Regles:
           		Toast.makeText(this,"pour jouer cliquez sur new game et selectionner une taille de grille, puis trouvez les paires !",Toast.LENGTH_SHORT).show();
           		return true;
     
           	case R.id.Quitter:
           		finish();
           		return true;
     
           	case R.id.Auteur:
           		Toast.makeText(this,"moi",Toast.LENGTH_SHORT).show();
     
           	}
           	return super.onMenuItemSelected(featureId, item);
     
           	}
     
     
     
    	public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.menugnal);
            Facile=(Button)findViewById(R.id.button1);
            Facile.setOnClickListener(this);
            Difficile=(Button)findViewById(R.id.button2);
            Difficile.setOnClickListener(this);
        }
     
    	@Override
        public void onClick(View v){
            if(v==Facile){
    	        Intent monIntent=new Intent(this,Manager.class);
    	        startActivity(monIntent);
            }
            if(v==Difficile){
                Intent monIntent2=new Intent(this,Manager.class);
                startActivity(monIntent2);        
            }
        }
     
    }
    et voici l'erreur sur le "inflate" : The method inflate(int, Menu) in the type MenuInflater is not applicable for the arguments (int, Menu)

    Je n'ai pas de probleme au niveau des images ou choses comme ca, le seul problème étant le "inflate".

    Est ce suffisant ?

    Merci dans tout les cas

  9. #9
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour

    Est ce que ton fichier menuprincipal.xml existe bien .
    Est ce qu'il est bien dans le sous répertoire menu ?
    As tu ta ressource "R.menu.menuprincipal" bien déclaré dans ton R.java ?

  10. #10
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2011
    Messages : 64
    Par défaut
    est ce que tu peux nous poster l'affichage du logcat lors du déclanchement de cet erreur

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 104
    Par défaut
    Bonjour,
    Merci pour ces réponses et désolé pour le temps de latence.

    Est ce que ton fichier menuprincipal.xml existe bien .
    Est ce qu'il est bien dans le sous répertoire menu ?
    As tu ta ressource "R.menu.menuprincipal" bien déclaré dans ton R.java ?

    Oui pour ces 3 questions

    est ce que tu peux nous poster l'affichage du logcat lors du déclanchement de cet erreur

    Non je ne peux pas faire cela, car je ne peux mm pas lancer le démarrage de l'application. L'erreur se déclenche tout de suite avec un : (voir pièce jointe)
    Images attachées Images attachées  

  12. #12
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,


    Il te manque déjà les @Override des fonctions portant sur le menu .

    De plus tu n'as toujours pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import android.view.Menu;

  13. #13
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 104
    Par défaut
    Il me donne une erreur lorsque j'importe le "import android.view.Menu;"

    Ou dois je mettre les @Override ?

    Merci de ta réponse

  14. #14
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Si tu es sous eclipse le plus simple pour surcharger des fonctions est de faire

    Sous Eclipse
    Sources -> Override/Implement Methods

    Puis de sélectionner la méthode que tu souhaites surcharger

    Sinon il te suffit juste de positionner @Override au dessus de la déclaration de ta méthode à surcharger .
    Comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @Override
    public boolean onCreateOptionsMenu(Menu menu){
     
        	MenuInflater inflater =getMenuInflater();
        	inflater.inflate(R.menu.menuprincipal, menu);
        	return true;
        }
    Fais le pour chaque méthode que tu surcharges
    Attention compile ton projet sous java 1.5 et non 1.6.

    Fais un clean juste après .

  15. #15
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 104
    Par défaut
    Merci pour ta réponse

    Cependant en plaçant un @Override à la place que tu m'indique, j'ai une erreur sur la fonction qui suit du type :
    The method onCreateOptionsMenu(Menu) of type Menu must override or implement a supertype method


    PS : je suis bien sous 1.5

  16. #16
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Dans ce cas passe par la première solution que je t'ai précisé

    Sources --> Override /Implements Methods

  17. #17
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Tu as appelé ta classe Menu, et du coup, ça pose un soucis lors de l'importation de la classe système android.view.Menu

    change ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public boolean onCreateOptionsMenu(Menu menu){
    par ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public boolean onCreateOptionsMenu(android.view.Menu menu){

  18. #18
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 104
    Par défaut
    J'ai testé les deux méthodes, cela ne change rien ...

  19. #19
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 104
    Par défaut
    Merci infiniment !!

    Mon problème est réglé, ma classe portait effectivement le même nom.

    Merci encore du temps que vous m'avez accordé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec le menu
    Par MayOL69bg dans le forum ASP.NET
    Réponses: 3
    Dernier message: 23/03/2007, 14h34
  2. probleme avec struts menu
    Par khaledirb7 dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/03/2007, 12h57
  3. [c#]probleme avec les menu toolStripItem dans une form mdi??
    Par must19 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/11/2006, 23h02
  4. [CSS] Probleme avec mon menu css
    Par otagun dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 13/05/2006, 14h37
  5. Probleme avec un menu déroulant
    Par grumly22 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/05/2006, 15h04

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