Меню показывает, но onCreateOptionsMenu () не вызывается - PullRequest
0 голосов
/ 04 марта 2020

Меню отображается на панели инструментов приложения, и я могу открыть его и увидеть пункты меню, однако функция 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);

Если я удалю эту строку, меню на панели инструментов исчезнет. Не знаю, помогает ли это или как-то связано с моей проблемой, но просто выкладываю, чтобы вы знали.

Ответы [ 3 ]

1 голос
/ 04 марта 2020
 Toolbar toolbar = findViewById(R.id.toolbar);
 setSupportActionBar(toolbar);
 getSupportActionBar().setDisplayShowTitleEnabled(false);
0 голосов
/ 04 марта 2020
setSupportActionBar(toolBar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

и использование android.support.v7.widget.Toolbar будет работать

0 голосов
/ 04 марта 2020

В функции создания, поставьте эту строку:

 setSupportActionBar(bottomAppBar)

См. Этот код для более подробной информации: https://github.com/ranger163/BottomAppBarImplementation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...