Меню отображается на панели инструментов приложения, и я могу открыть его и увидеть пункты меню, однако функция onCreateOptionsMenu()
не вызывается, я знаю это, устанавливая точку останова и отлаживая, то же самое относится и к функция onOptionsItemSelected()
не вызывается вообще. Я посмотрел на другие сообщения о переполнении стека о тех же проблемах, но, похоже, не сделал ни одной из обычных ошибок. Кто-нибудь знает, в чем проблема и как ее исправить?
MainActivity. java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId())
{
case R.id.menuItem1:
Toast.makeText(this, "menuItem1 selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.menuItem2:
Toast.makeText(this, "menuItem2 selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.menuItem3:
Toast.makeText(this, "menuItem3 selected", Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
меню. xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menuItem1"
android:title="One"
app:showAsAction="never"/>
<item
android:id="@+id/menuItem2"
android:title="Two"
app:showAsAction="never"/>
<item
android:id="@+id/menuItem3"
android:title="Three"
app:showAsAction="never"/>
</menu>
Редактировать: В моем onCreate()
в MainActivity. java У меня есть эта строка кода:
toolBar.inflateMenu(R.menu.menu);
Если я удалю эту строку, меню на панели инструментов исчезнет. Не знаю, помогает ли это или как-то связано с моей проблемой, но просто выкладываю, чтобы вы знали.