Android ActionBar菜单有问题

Android ActionBar菜单有问题,android,android-actionbar,Android,Android Actionbar,大家好 我是Android新手,我尝试在Android应用程序中添加一个菜单,如下所示: 问题是,我没有在操作栏上看到菜单,我只是在没有图标的情况下看到它 这是我的密码: public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.layout.menu, menu); return super.onCreat

大家好

我是Android新手,我尝试在Android应用程序中添加一个菜单,如下所示:

问题是,我没有在操作栏上看到菜单,我只是在没有图标的情况下看到它

这是我的密码:

  public boolean onCreateOptionsMenu(Menu menu)
{
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.layout.menu, menu);
    return super.onCreateOptionsMenu(menu);
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
     switch (item.getItemId())
     {
     case R.id.chat:
        // Single menu item is selected do something
        // Ex: launching new activity/screen or show alert message
         Toast.makeText(MainActivity.this, "Chat is Selected", Toast.LENGTH_SHORT).show();
         return true;


     default:
         return super.onOptionsItemSelected(item);
     }
}

下面是xml文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Search, should appear as action button -->
<item android:id="@+id/chat"
      android:icon="@drawable/ic_action_chat"
      android:title="action_search"
      android:showAsAction="ifRoom" />
<!-- Settings, should always be in the overflow -->

以下是应用程序的屏幕截图,您可以看到菜单已关闭且没有图标:

舱单:


将菜单XML文件中的
android:showAsAction
android:showAsAction=“ifRoom”
更改为
android:showAsAction=“always”
。这应该行得通

更新

更改
充气机。充气(右布局菜单,菜单)
充气机。充气(右菜单主菜单)
并使用menu文件夹中的
main.xml
文件,而不是
layout
文件夹中的
menu.xml
文件

更新2

由于您在评论中提到您正在使用appcompat库,因此您应该修改
菜单
文件夹中的
main.xml
文件,如下所示:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:compat="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" >
<!-- Search, should appear as action button -->

<item android:id="@+id/chat"
      android:icon="@drawable/ic_action_chat"
      android:title="action_search"
      compat:showAsAction="always" />
<!-- Settings, should always be in the overflow -->

</menu>

将您的
菜单
移动到“菜单”文件夹中,然后按如下方式操作:

inflater.inflate(R.menu.menu, menu);

您可以尝试android:showAsAction=“always”。谢谢您的回答,但它总是显示菜单。我无法理解您的问题您是否使用带有硬件菜单按钮的设备/模拟器?您是否使用v7 appCompat库?如果是,请参阅。菜单文件的名称是什么?时间的名称是menu.xml。您将其保存在哪里?在菜单文件夹或布局文件夹中?创建活动时,也会自动创建菜单XML文档。因此,请确认菜单文件夹中存在与“活动”同名的XML文件。您使用的是“活动”还是“ActionBarActivity”?