2013-02-28 16 views

risposta

37

Per ogni MenuItem, effettuare le seguenti operazioni:

myMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 
-1

Hai provato questo:

getSupportActionBar().setDisplayOptions(MenuItem.SHOW_AS_ACTION_IF_ROOM); 
getSupportActionBar().setDisplayOptions(MenuItem.SHOW_AS_ACTION_WITH_TEXT); 
+4

credo che dovrebbe essere '(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT)', a bandiera. – Geobits

+4

Basato sulla [documentazione] (http://developer.android.com/reference/android/app/ActionBar.html#setDisplayOptions (int)), non penso che questo dovrebbe funzionare, dal momento che 'setDisplayOptions()' ha bisogno le costanti di ActionBar 'DISPLAY_' Sebbene alcune costanti [* do * si sovrappongano] (http://developer.android.com/reference/android/view/MenuItem.html#SHOW_AS_ACTION_ALWAYS). –

+0

@Geobits Si prega di inviare la risposta, lo accetterò. –

13

Se si desidera impostare queste proprietà in fase di esecuzione, allora avete bisogno di farlo sul MenuItem , non lo ActionBar.

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main_menu, menu); 
    MenuItem item = menu.findItem(R.id.your_menu_item); 
    item.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 
} 
Problemi correlati