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 :

Problème Menu contextuel


Sujet :

Composants graphiques Android

  1. #1
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut Problème Menu contextuel
    Salut,
    Je n'arrive pas à comprendre pourquoi lorsque je clique sur un item de ma listView, le menu contextuel ne s'affiche pas
    Voiçi le code:
    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
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    public class Main3 extends ListActivity implements OnClickListener {
     
     
    	FormationBDD formationBdd;
    	Formation liste;
     
    	@Override
    	  public void onCreate(Bundle savedInstanceState) {
    	    super.onCreate(savedInstanceState);
    	    setContentView(R.layout.resultat_list);
    	 // On récupère l'intent qui a lancé cette activité
    	    Intent i = getIntent();
    	    String ville = i.getStringExtra(Main2.VILLE);
    	    String catégorie = i.getStringExtra(Main2.CATEGORIE);
    	    formationBdd = new FormationBDD(this);
    	    formationBdd.open();
    	    liste = formationBdd.getFormation(ville, catégorie); 
    		    if (liste == null)
    		        Toast.makeText(Main3.this, "liste de formation vide ", Toast.LENGTH_LONG).show();
    		        else
    		        	DataBind(ville, catégorie);
    	}
     
        @Override // Création du menu principal
        public boolean onCreateOptionsMenu(Menu menu) {    	
        	menu.add(0,100,0,"Tout effacer");
        	return true;
        }
     
        @Override // Selection d'un item du menu
        public boolean onOptionsItemSelected(MenuItem item) {
        	switch(item.getItemId()){
        	case 100: 
        		//db.Truncate();
        		//DataBind();
        		break;    	
        	}
        	return true;
        }
     
    	@Override // Selection d'un item de la liste
    	protected void onListItemClick(ListView l, View v, int position, long id) {
    		//Cursor cursor = (Cursor)l.getAdapter().getItem(position);
    		//String titre  = cursor.getString(cursor.getColumnIndex("libellé"));
    		//Toast.makeText(this,"Item id "+id+" : "+titre, Toast.LENGTH_SHORT).show();
    		//super.onListItemClick(l, v, position, id);
    	}
     
    	@Override // Creation du menu contextuel
    	public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    		super.onCreateContextMenu(menu, v, menuInfo);
    		menu.setHeaderTitle("Action");
    		menu.add(0,100,0,"Supprimer");
    		menu.add(0,200,1,"Editer");
    	}
     
    	@Override // Selection d'un item du menu contextuel
    	public boolean onContextItemSelected(MenuItem item) {
    		AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
    		switch(item.getItemId()){
    		case 100:
    		//	db.supprimerProduit(info.id);
    			//DataBind();
    			break;
    		case 200:
    			Toast.makeText(this, "TODO", Toast.LENGTH_SHORT).show();				
    			break;			
    		}
    		return true;
    	}
     
        @Override
        protected void onDestroy() {
        //	db.close();
        	super.onDestroy();
        }
     
     
    	 public void DataBind(String ville, String catégorie){
     
    	    	Cursor c = formationBdd.recupererChoixFormations(ville, catégorie);
    	    	startManagingCursor(c);
    	    	SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
    	    	    	R.layout.list1,c,new String[]{"libellé","adresse","tel"},
    	    	    	new int[]{R.id.textLibellé,R.id.TextAdresse,R.id.TextTel});
    	    	    	setListAdapter(adapter);
    	 }
     
    	@Override
    	public void onClick(View v) {
    		// TODO Auto-generated method stub
     
    	}
    }
    Pouvez vous m'aider? logCat n'affiche aucune erreur.
    Merci
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  2. #2
    Expert éminent

    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
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,


    http://developer.android.com/guide/t...l#context-menu

    1-
    f your activity uses a ListView or GridView and you want each item to provide the same context menu, register all items for a context menu by passing the ListView or GridView to registerForContextMenu().
    Il faut que tu appelles le registerForContextMenu sur ta liste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getListView().registerForContextMenu();
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  3. #3
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    Bonjour,

    Il faut que tu appelles le registerForContextMenu sur ta liste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getListView().registerForContextMenu();
    Merci pour votre réponse. je dois lui faire appel dans la méthode principale onCreate?
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  4. #4
    Expert éminent

    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
    Points : 9 149
    Points
    9 149
    Par défaut
    Oui, fais le le plus tôt possible, à moins que tu veuilles mettre une condition sur l'apparition de ce contexte.

    En gros quand tu appellera le register le menu sera lié.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/05/2012, 07h58
  2. Réponses: 5
    Dernier message: 14/02/2012, 00h19
  3. Problème menu contextuel des dossiers
    Par Somato dans le forum Windows XP
    Réponses: 8
    Dernier message: 26/03/2010, 20h54
  4. Un tout petit problème avec mon menu contextuel
    Par jbrasselet dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/10/2007, 15h40

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