Nel nuovo aggiornamento Google ha rilasciato una nuova libreria di supporto API, che supporta ActionBar in API 7+.android.support.v7 con `ActionBarActivity` nessun menu mostra
Ho usato ActionBarSherlock fino a questo aggiornamento e ho scritto il codice per caricare il menù:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_main, menu);
return true;
}
e il file di menù:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/item_menu_ok" android:icon="@drawable/ic_action_ok"
android:title="@string/ok" android:showAsAction="always"></item>
<item android:id="@+id/item_menu_cancel" android:icon="@drawable/ic_action_cancel"
android:title="@string/cancel" android:showAsAction="always"></item>
</menu>
Per impostare i pulsanti del menu nella barra delle operazioni. Questo codice ha funzionato perfettamente con ActionBarSherlock. Ma quando ho cambiato la barra delle azioni nella nuova libreria di supporto, i pulsanti non sono mostrati nella barra delle azioni. Anche se sono impostati come android:showAsAction="always"
. E quando eseguo il debug del codice, la funzione menu.getSize()
restituisce 2, e ciò è corretto, ma non viene visualizzato alcun pulsante.
Perché i pulsanti non sono visualizzati nella nuova libreria di supporto?
Sì, il problema era il 'xmlns: yourapp =" http://schemas.android.com/apk/res-auto "'. Questo è il cambiamento per il supporto v7? Causa in 'ActionBarSherlock' il mio vecchio codice funzionava perfettamente – nrofis
@nrofis: non ho idea del perché AppCompat non possa usare' android: showAsAction' come ActionBarSherlock può. – CommonsWare
Grazie questo è un cambiamento minuscolo e strano che sono riuscito a trascurare! –