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

#java #android #menu #toolbar #menuitem

#java #Android #меню #панель инструментов #элемент меню

Вопрос:

Привет,

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

И когда я нажимаю на значок навигации кнопки «Назад», я должен проверить, отключен ли первый элемент или нет, и если отключен, то включите второй элемент, а если нет, то 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);
                }
            }
        });
 

Комментарии:

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

2. да, это из onCreateOptionsMenu()

Ответ №1:

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

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

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

 MenuItem item = menu.getItem(0);