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 :

Menu contextuel et Menu d'options


Sujet :

Composants graphiques Android

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Menu contextuel et Menu d'options
    Salut à tous,

    Alors volà j'ai un programme avec deux activity, j'ai crée le même menu d'option pout les deux activité. Et j'ai crée un menu contextuel sur ma première activité que s'affiche lorsque je clique sur un item de ma listview.. enfin ça c'est la théorie.

    Mon problème c'est que je voulais afficher ma deuxième activité avec un OnLongClick sur ma listview (ça ça marche), et le menu contextuel avec un OnClick (donc un click court) et le problème et là ... de plus lorsque j'effectue le clic long, j'ai bien ma deuxième activité qui se lance, mais aussi le menu contextuel, cependant j'ai juste le temps de l'apparcevoir et de passer dans ma nouvelle activité. Gràce à un retour en arrière je reviens sur ma première activité et vois mon menu contextuel affiché.
    Ce n'est donc pas trés pratique même si cela montre qu'il n'y a pas d'erreur dans mon code.

    Je me suis donc dit je vais inversé et lancer ma 2éme activity sur un clic court et le menu contextuel sur un clic long .... ma 2éme activité se lance toujours aussi bien, par contre pas de menu contextuel.

    j'ai lu sur d'autre forum que le fait d'avoir un menu d'option empécher l'apparition de mon menu contextuel est-ce vrai?
    La solution proposé était de mettre tous les "case" dans un seul "switch" mais comment faire?

    voici les codes de mes deux menus:

    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
     
       /**-----------------------------Barre de Menu----------------------------*/
     
        public boolean onCreateOptionsMenu(Menu menu) 
        {
           super.onCreateOptionsMenu(menu);
           MenuInflater inflater = new MenuInflater(this);
           inflater = getMenuInflater();
           inflater.inflate(R.menu.menu, menu);
           return true;
        }
         public boolean onOptionsItemSelected(MenuItem item) {
             switch (item.getItemId()) {
                 case R.id.ack:Toast.makeText(this, "select an alarm", Toast.LENGTH_LONG).show();
                                     break;
     
                 case R.id.ackall:Toast.makeText(this, "Acknowledge all alarms", Toast.LENGTH_LONG).show(); 
                 ListView list = (ListView)findViewById(R.id.listalarme);
                 AlarmeAdapter adapter = (AlarmeAdapter)list.getAdapter();
                 adapter.setEtat(AlarmeAdapter.ACKKED);
                 list.invalidateViews();
                                  break;
     
                 case R.id.reset:Toast.makeText(this, "Select an alarm", Toast.LENGTH_LONG).show();
                                     break;
                 case R.id.resetall:Toast.makeText(this, "Reset all alarms", Toast.LENGTH_LONG).show(); 
                 					 break;    
                 case R.id.update:Toast.makeText(this, " alarms update", Toast.LENGTH_LONG).show();          					 break;     
             }
             return true;
         }
     
        /**---------------------------------menu contextuel-----------------------------------------*/
         public void onCreateContextMenu(ContextMenu menu_item,View v,ContextMenuInfo menuInfo) 
         {
            super.onCreateContextMenu(menu_item, v, menuInfo);
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.menu_itemlist, menu_item);
     
         }
     
         public boolean onContextItemSelected(MenuItem item){
     
             switch (item.getItemId()) {
             case R.id.ack_item:
                 Toast.makeText(this, "ack this item", Toast.LENGTH_SHORT).show();
                 return true;
                case R.id.reset_item:
                    Toast.makeText(this, "reset this item", Toast.LENGTH_SHORT).show();
                    return true;
             	}
             return super.onContextItemSelected(item);
             }
    }
    Pour lancer mon menu contextuel avec un clic court j'ai tente le code suivant, mais ça n'a pas l'air de marcher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	public void OnClick(ListAlarme item, int position) 
    	{
    		// TODO Auto-generated method stub
            registerForContextMenu((ListView)findViewById(R.id.listalarme));
            openContextMenu((ListView)findViewById(R.id.listalarme));
     
    	}
    Si quelqu'un a une idée du problème et par la même occasion d'une solution? Merci =)
    Dernière modification par Invité ; 01/06/2011 à 14h53.

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

Discussions similaires

  1. Ajouter un menu et sous menu suite au menu popup Profile As
    Par kkt8 dans le forum Eclipse Platform
    Réponses: 7
    Dernier message: 12/04/2013, 14h57
  2. Sous-menu via le menu contextuel
    Par foolib dans le forum Windows 7
    Réponses: 8
    Dernier message: 13/07/2010, 18h01
  3. Créer un sous menu dans le menu contextuel clique droit
    Par koKoTis dans le forum Windows XP
    Réponses: 1
    Dernier message: 11/10/2007, 12h17
  4. Supprimer option menu contextuel
    Par flo_flo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/05/2007, 17h59
  5. [Plugin] Ajouter une option au menu contextuel ?
    Par relivio dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 22/03/2004, 16h18

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