2 pièce(s) jointe(s)
Evènement onMenuItemSelected exécute 2 items en même temps
Bonjour,
J'apprends à utiliser le SDK de Google et me voilà confronté à un symptôme dont je ne trouve pas réponse sur Google ni dans mon code.
J'ai un menu avec deux items et lorsque je clique sur l'item numéro 1, il m’exécute les actions des deux items.
Voici un screenshot du menu :
http://www.developpez.net/forums/att...1&d=1350496042
Le problème survient lorsqu'on appuie sur "A propos".
Vous pouvez voir, ci-dessous qu'il ouvre le "A propos" avec connexion au-dessus :
http://www.developpez.net/forums/att...1&d=1350496052
Voici le 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
| @Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu1, menu);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch(item.getItemId()) {
case R.id.item1:
showDialog(DIALOGUE_A_PROPOS);
case R.id.item2:
showDialog(CONNEXION);
}
return true;
}
@Override
protected Dialog onCreateDialog(int id) {
AlertDialog.Builder builder;
switch(id) {
case CONNEXION :
builder = new AlertDialog.Builder(this);
final View view_connexion = getLayoutInflater().inflate(R.layout.connexion, null);
builder.setView(view_connexion);
builder.setTitle("Connexion");
builder.setNegativeButton(android.R.string.cancel, null);
builder.setPositiveButton(R.string.connexion, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
EditText edit_pseudo = (EditText) view_connexion.findViewById(R.id.champPseudo);
EditText edit_password = (EditText) view_connexion.findViewById(R.id.champPassword);
connexion(edit_pseudo.getText().toString(), edit_password.getText().toString());
}
});
return builder.create();
case DIALOGUE_A_PROPOS :
builder = new AlertDialog.Builder(this);
builder.setTitle("A propos de l'appli");
builder.setPositiveButton(android.R.string.ok, null);
View view_a_propos = getLayoutInflater().inflate(R.layout.apropos, null);
builder.setView(view_a_propos);
return builder.create();
}
return null;
}
public void connexion(String pseudo, String password) {
Toast.makeText(Main.this, pseudo+"-"+password, Toast.LENGTH_LONG).show();
} |
Quelqu'un saurait-il m'indiquer d'où peut venir le problème ?
Merci d'avance pour votre aide.
Evènement onMenuItemSelected exécute 2 items en même temps
Il manquait le break dans le case.