Как узнать, какой элемент меню отключен?

Эй,

Я реализовал меню, в котором есть два пункта меню, и когда я нажимаю на первый пункт, другой пункт меню отключается и наоборот.

И когда я нажимаю на значок навигации кнопки «Назад», я должен проверить, отключен ли первый элемент или нет, и если он отключен, то включить второй элемент, а если нет, то onBackPressed();

Итак, я не знаю, как распознать, какой элемент отключен.

Пожалуйста, помогите мне быстро.

Есть ссылки на код

Это моя текущая попытка, и в ней также есть некоторые ошибки. Пожалуйста, помогите мне найти другой способ или исправить этот код.

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (menu.getItem(0).getActionView().getVisibility() == View.VISIBLE) {
                    onBackPressed();
                } else {
                    menu.getItem(1).setEnabled(false);
                    menu.getItem(1).setVisible(false);

                    menu.getItem(0).setEnabled(true);
                    menu.getItem(0).setVisible(true);
                }
            }
        });

Пожалуйста, предоставьте больше кода .. как вы получаете menu var .. это от onCreateOptionsMenu()?

Zain 25.12.2020 18:45

да, это из onCreateOptionsMenu()

Harsh0021 25.12.2020 18:48
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
74
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

в onCreateOptionsMenu() сохраните menu в поле локального класса, а затем, чтобы проверить, включен/отключен ли определенный пункт меню, используйте isEnabled()

MenuItem item = menu.findItem(R.id.item_id);
if (item.isEnabled()) {
    // enabled
} else {
    // not enabled 
}
 

Или вы можете использовать порядок пункта среди пунктов меню, чтобы получить конкретный пункт

MenuItem item = menu.getItem(0);

Другие вопросы по теме