Android 主菜单未在应用程序中显示

Android 主菜单未在应用程序中显示,android,xml,Android,Xml,大家好,我的问题是菜单甚至没有显示出来,我尝试了以下方法:app:showAsAction=“always”但没有帮助,然后我尝试更改tools:context=“.Main” 以下是我的完整代码: main_menu.xml <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="htt

大家好,我的问题是菜单甚至没有显示出来,我尝试了以下方法:
app:showAsAction=“always”
但没有帮助,然后我尝试更改
tools:context=“.Main”
以下是我的完整代码:

main_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".Main">



<item
    android:id="@+id/changeCityID"
    android:title="@string/changeCity"
    android:icon="@drawable/search"
    android:orderInCategory="1"
    app:showAsAction="always"/>

</menu>

验证是否实现了在主活动中选择的方法OnCreateOptions菜单和OnOptions项

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    MenuInflater inflater = getMenuInflater();

    inflater.inflate(R.menu.main_menu, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
      case R.id.changeCityID:
        //doSomething
        break;
    }

    return true;
}

您没有显示主活动代码。您的活动应该调用main_menu.xml文件。确保main_menu.xml位于菜单文件夹下。然后在您希望此菜单进入的活动(或您的应用程序屏幕)中,确保实现了类似的功能

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

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
      case R.id.changeCityID:
        // Enter what you would like to do when user clicks on menu item
        break;
    }

将此行放在onCreate(..)上

调用Android菜单,实现菜单方法

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

请阅读“开发>API指南>用户界面>菜单”注意,OnCreateOptions菜单和OnOptions ItemSelected函数上方缺少“@Override”关键字。改变它,让我知道。如果它解决了你的问题,接受这个答案。
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    MenuInflater inflater = getMenuInflater();

    inflater.inflate(R.menu.main_menu, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
      case R.id.changeCityID:
        //doSomething
        break;
    }

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

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
      case R.id.changeCityID:
        // Enter what you would like to do when user clicks on menu item
        break;
    }
invalidateOptionsMenu();
public boolean onCreateOptionsMenu(Menu menu)
{
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_menu, menu);
    return super.onCreateOptionsMenu(menu);
}