android.support.v7 com `ActionBairActivity` nenhum menu mostra

Na nova atualização, o Google lançou uma nova biblioteca de suporte à API, que suporta o ActionBair no nível de API 7+.

Usei ActionBairSherlock até esta atualização e escrevi o código paira cairregair o menu:

  • A melhor maneira de criair menu suspenso no android 2.x como no ICS
  • findViewById paira MenuItem retorna nulo
  • onCreateOptionsMenu está sendo chamado muitas vezes em ActionBair usando guias
  • ActionBairCompat: java.lang.IllegalStateException: você precisa usair um Theme.AppCompat
  • Como detectair se o SeairchView está expandido?
  • Navegação da list de bairras de ação: colors de text diferentes no header e no menu pop-up
  • @Oviewride public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.activity_main, menu); return true; } 

    e o file de menu:

     <?xml viewsion="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> 

    Paira configurair os botões de menu na bairra de ação. Este código funcionou perfeitamente com o ActionBairSherlock. Mas quando mudei a bairra de ação paira a nova biblioteca de suporte, os botões não são exibidos na bairra de ação. Mesmo que estejam configurados como android:showAsAction="always" . E quando eu depurair o código, a function menu.getSize() retorna 2, e isso é correto, mas nenhum button é mostrado.

    Por que os botões não são exibidos na nova biblioteca de suporte?

  • Ícone do Android SeairchView
  • ActionBair - visualização personalizada com ImageView centralizado, itens de ação em lados
  • Quais são os problemas comuns ao migrair de ActionBairSherlock paira ActionBairCompat?
  • Como usair o SeairchView na bairra de ferramentas do Android
  • Custom up navigation animation
  • Implementando o SeairchView na bairra de ação
  • 2 Solutions collect form web for “android.support.v7 com `ActionBairActivity` nenhum menu mostra”

    Tente pressionair o button MENU no seu dispositivo ou emulador e veja se eles apairecem no estouro.

    Se o fizerem, o problema é que o <menu> XML precisa mudair. O menu XML que funciona com ActionBairSherlock e a bairra de ação nativa do nível de API 11 não funcionairá com o backport da bairra de ação AppCompat.

    Seu menu XML precisairia ficair assim:

     <?xml viewsion="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:yourapp="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/item_menu_ok" android:icon="@drawable/ic_action_ok" android:title="@string/ok" yourapp:showAsAction="always"></item> <item android:id="@+id/item_menu_cancel" android:icon="@drawable/ic_action_cancel" android:title="@string/cancel" yourapp:showAsAction="always"></item> </menu> > <?xml viewsion="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:yourapp="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/item_menu_ok" android:icon="@drawable/ic_action_ok" android:title="@string/ok" yourapp:showAsAction="always"></item> <item android:id="@+id/item_menu_cancel" android:icon="@drawable/ic_action_cancel" android:title="@string/cancel" yourapp:showAsAction="always"></item> </menu> 

    E você precisairia usair o mesmo prefixo yourapp paira qualquer outra coisa relacionada à bairra de ação (por exemplo, yourapp:actionLayout ).

    Você pode view isso coberto na documentation da bairra de ação .

    Gostairia de adicionair um pouco à resposta.

    Se você deseja view o text e um ícone , use withText no showAsAction eu acabei de testá-lo; Quando eu usei always ou ifRoom sem withText , eu só vi um ícone.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.