setContentView(R. layout.activity_main) vs getMenuInflater().inflate(R. menu.activity_main, menu)
Pourquoi dois-je dire à mon activité ce que sa mise en page devrait être deux fois?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //<--
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu); //<--
return true;
}
Quelle est la différence entre ces deux méthodes?. quand devrais-je utiliser un, et quand l'autre?
première Activité de la fenêtre et la deuxième pour OptionsMenu
Le
Le
R.layout
et R.menu
sont la clé.OriginalL'auteur FRR | 2013-01-04
Vous devez vous connecter pour publier un commentaire.
Ils sont deux choses distinctes. Les noms vous disent.
R.layout.activity_main
est à votre disposition,R.menu.activity_main
est pour votre menu.setContentView()
définit la mise en page pour l'Activité. Il comprend des Boutons, TextViews, etc.onCreateOptionsMenu()
rend le menu qui s'affiche lorsque vous appuyez sur la touche menu ou il remplit l'ActionBar sur Android 3.0+.Ils ne deux completetly la part des choses.
setContentView()
est souvent nécessaire (sauf si vous avez un videActivity
),onCreateOptionsMenu()
est facultative, en fonction de si vous avez besoin d'afficher plus d'options.Oui.
Ok 🙂 merci beaucoup!.
Toutefois, lorsque vous créez un Fragment, vous NE devez Utiliser la inflater. comment venir?. pourquoi ne puis-je pas utiliser setContentView pour ceux aussi bien?
Vous parlez
getView()
dans les fragments. C'est parce que les Fragments n'ont passetContentView()
méthode. A noter toutefois qu'il n'utilise pasgetMenuInflater()
, mais plutôt unLayoutInflater
. Les deux gonfler, maisLayoutInflater
est pour les mises en page.OriginalL'auteur A--C
fichier java à l'intérieur de la gen dossier, il y aura mise en page définie, et ID de menu statique de la classe. vous obtiendrez l'idée à partir de là.
OriginalL'auteur satti