setContentView(R. layout.activity_main) vs getMenuInflater().inflate(R. menu.activity_main, menu)
Warum muss ich mitteilen, meine Aktivitäten was das layout sollte zweimal?
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;
}
Was ist der Unterschied zwischen diesen beiden Methoden?. Wann sollte ich Sie verwenden, und als der andere?
erste Activity-Fenster und der zweite für OptionsMenu
Die
Die
R.layout
und R.menu
sind der Schlüssel.InformationsquelleAutor FRR | 2013-01-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind zwei separate Dinge. Die Namen sagen Sie.
R.layout.activity_main
ist Ihr layoutR.menu.activity_main
ist für Ihre Menü.setContentView()
legt das layout für die Activity. Es beinhaltet die Buttons, TextViews, etc.onCreateOptionsMenu()
macht das Menü, das Sie sehen, wenn Sie drücken Sie die Menü-Taste oder füllt es die ActionBar auf Android 3.0+.Tun Sie zwei komplett getrennte Dinge.
setContentView()
oft benötigt wird (es sei denn, Sie haben eine leereActivity
),onCreateOptionsMenu()
ist optional, je nachdem, ob Sie brauchen, um mehr Optionen anzeigen.Ja.
OKay 🙂 vielen Dank!.
Allerdings, wenn Sie erstellen ein Fragment Verwenden Sie den inflater. wie kommt das?. warum kann ich nicht mit setContentView für diejenigen, die als gut?
Du redest
getView()
in Fragmenten. Das ist, weil die Fragmente nicht über einensetContentView()
Methode. Jedoch beachten Sie, dass es nichtgetMenuInflater()
, sondern eineLayoutInflater
. Sowohl aufblasen, aberLayoutInflater
ist für layouts.InformationsquelleAutor A--C
java-Datei in den gen Ordner gibt es definierte layout, ID und Menü statische Klasse. Sie wird auf die Idee kommen von dort.
InformationsquelleAutor satti