Un menu contextuel pour chaque bouton
Bonjour,
Voila je suis débutant dans la programmation et surtout la programmation Android, dans mon petit exercice j'ai créé 2 boutons , j'ai voulais que chaque bouton affiche un menu contextuel propre à lui . mon problème :cry:c'est que quand j’appuie sur le premier bouton il m'affiche tous les items (ceux que j'ai voulu qu'il s'affiche en appuyant sur lui (item1 et item2) et ceux que j'ai voulu en appuyant sur l'autre bouton (item3 et item4)) de même pour l'autre bouton!! pourtant j'ai créé 2 fichier XML , un fichier pour chaque menu contextuel est ce que quelqu’un peut m'aider ?? voici l'extrait du code :
Code:
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 95 96 97 98 99 100 101
| Button button1;
Button button2;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1= (Button) findViewById(R.id.button1);
button2= (Button) findViewById(R.id.button2);
button1.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
registerForContextMenu(arg0);
openContextMenu(arg0);
}
});
button2.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
registerForContextMenu(arg0);
openContextMenu(arg0);
}
});
}
@Override
public boolean onContextItemSelected(MenuItem item) {
// On récupère l'id de l'item et on le compare
switch (item.getItemId()) {
case R.id.item1:
// On affiche un message
Toast.makeText(this, "Item1 ", Toast.LENGTH_SHORT).show();
return true;
case R.id.item2:
// On affiche un message
Toast.makeText(this, "Item2 ", Toast.LENGTH_SHORT).show();
return true;
case R.id.item3:
// On affiche un message
Toast.makeText(this, "Item 3", Toast.LENGTH_SHORT).show();
return true;
case R.id.item4:
// On affiche un message
Toast.makeText(this, "Item 4", Toast.LENGTH_SHORT).show();
return true;
}
return super.onContextItemSelected(item);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menucontextuel1, menu);
inflater.inflate(R.menu.menucontextuel2, menu);
} |
Voila j'espère qu'une bonne âme m'aideras