2016-10-10 95 views
0

我有被设置为Android的菜单项setShowAsAction()不工作

android:showAsAction="always|withText" 

在XML的菜单项。它正确膨胀并正确显示在手机的菜单栏中。但是,如果我做了以下编程:

item.setVisible(false); 
item.setVisible(true); 
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 

菜单项被移动到溢出菜单不管我是否包括代码或不是最后一行。

任何想法,为什么会发生这种情况?

顺便说一句我正在使用便宜的手机来测试哪个硬件菜单按钮。

非常感谢, 里兹

编辑:根据要求

进口

import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.MenuItem; 

造型

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:id="@+id/item_id" 
    android:icon="@drawable/ic_action_add_to_queue" 
    android:showAsAction="always|withText" 
    android:title="@string/menu_title"/> 
</menu> 

方法调用:

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    inflater.inflate(R.menu.menu_id, menu); 
    MenuItem mi = menu.findItem(R.id.item_id) 
    //Contextual setting of visibility 
} 

回答