该应用程序不会进入onCreateOptionsMenu(菜单菜单)覆盖功能

时间:2018-05-04 19:37:42

标签: java android android-studio

我正在尝试将一个菜单添加到我的某个应用程序页面中,但出于某种原因,它并没有出现。我使这个特定的页面扩展了AppCompactActivity,我覆盖onCreateOptionsMenu(菜单菜单)和onOptionsItemSelected(MenuItem项目)。但是,当我进入页面时,它们就像从未创建过这两个功能一样。 Logcat中没有显示任何问题,应用程序运行顺畅,但它就像应用程序没有进入onCreateOptionsMenu(菜单菜单)功能(我试图在内部打破一条线。功能但没有发生......)。有谁知道可能是什么问题?

java代码

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    Toast.makeText(this, "check", Toast.LENGTH_LONG).show();
    getMenuInflater().inflate(R.menu.menu_edit_sound, menu);
    return true;
}

菜单

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

<item android:id="@+id/menu_back"
    android:title="back"
    app:showAsAction="ifRoom"
    android:orderInCategory="5"/>

<item android:id="@+id/menu_save"
    android:title="save"
    app:showAsAction="ifRoom"
    android:orderInCategory="10"/>

1 个答案:

答案 0 :(得分:1)

在片段的onCreate中,调用setHasOptionsMenu(true)以调用菜单生命周期方法。

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