Super menu

Bonjour,

Je voudrai savoir pourquoi dans cet exemple il est nécessaire d'utiliser "super"


@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
//R.menu.menu est l'id de notre menu
inflater.inflate(R.menu.menu, menu);
return true;
}


Merci d'avance :)

5 réponses

  1. Modérateur
    Hello,

    Tu n'as pas besoin d'appeler le super si tu ne surcharges pas le menu de base. Dans ton exemple, tu retourne seulement le menu que tu as créé mais tu peux imaginer seulement rajouter des items au menu par défaut
    1
    1. Mouai c'est pas très claire :s
      0
      1. Contributeur
        'lut, la réponse simple est oui, car sinon
        onCreateOptionsMenu
        s'appellerait elle-même (boucle infinie puis stack overflow), or on veut bien appeler la fonction éponyme du type parent, et pas celle qu'on est en train de définir ici même.
        0
        1. @gravgun
          Ok ça c'est j'ai bien compris, mais pourquoi par exemple quand j'enlève le "super.onCreateOptionsMenu(menu)" j'ai exactement le même résultat ?
          En gros ça sert me sert à quoi de le rajouter ?
          0