Non ricordo assolutamente nulla dei menu.
E' dunque il caso di ripassare un po'...
Il menu è una risorsa, e quindi va salvato, in formato XML, nelle risorse.
Nella sottocartella res/menu:
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.example.timemanager.MainActivity" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_settings"/> </menu>Che significano le caratteristiche dell'item?
Vediamo...
Sul tutorial ci sono due attributi di un item: id e title.
Quell'orderInCategory e showAsAction sono assenti.
Fammi creare una Palestra ad hoc...
Ecco.
Il codice che gestisce la creazione del menu nell'Activity è piuttosto banale: praticamente si riassume nel codice che permette a un menuInflater di inflatare il menu contenuto nelle risorse.
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true;Quindi c'è il codice che gestisce il menu, che mi sembra un po' più complicato.
Con il codice visto finora, il menu appare ma non fa assolutamente niente.
Vediamo il codice per la gestione.
Praticamente è un evento onOptionItemSelected, che ha per parametro Menuitem, il quale confronta il menuItem selezionato con l'id di un elemento del menu.
Facciamo esercitazione. Mi annoto qui il codice prima di cancellarlo per riscriverlo.
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }Sì, credo di aver memorizzato a sufficienza.
Nessun commento:
Posta un commento