安卓选项菜单不显示

2022-09-02 20:27:22

我是Android的新手,我一直在尝试添加一个简单的添加按钮,如下所述

list_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
        android:id="@+id/menu_insert"
        android:icon="@android:drawable/ic_menu_add"
        android:title="@string/menu_insert"              
    />     
</menu>

我的活动.java

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        super.onCreateOptionsMenu(menu);
        getMenuInflater().inflate(R.menu.list_menu, menu);

        return true;  
    }

我在Dummies系列书中读到,ic_menu_add已经在资源中存在,我不需要添加它,但是当我运行此代码时,它不会显示。我试图添加一个同名的自定义图标,仍然没有按钮。有人可以帮我吗?


答案 1

如果你使用一个片段,那么你需要在onCreate()中使用它:

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setHasOptionsMenu(true);
    }

答案 2

我正在处理同样的问题。阅读一些查询和文档。.希望这可以帮助你。

这是我的菜单的XML文件。

<item
    android:id="@+id/action_send_feedback"
    android:orderInCategory="100"
    android:showAsAction="always"
    android:title="@string/action_send_feedback"/>

<item 
    android:id="@+id/action_share_app"
    android:orderInCategory="100"
    android:showAsAction="ifRoom"
    android:title="@string/action_share_app"
    android:icon="@drawable/ic_action_share" />

<item
    android:id="@+id/action_rate_app"
    android:orderInCategory="100"
    android:showAsAction="never"
    android:title="@string/action_rate_app"/>

JAVA代码在这里..

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

对于具有选项按钮(位于手机底部)的Android手机,当按下按钮时,将显示AsAction=“从不”的菜单项。否则,它们将正常显示在操作栏选项菜单上。

编号: http://developer.android.com/guide/topics/ui/menus.html#options-menu


推荐