Ответ 1
Поскольку вы не предоставили какой-либо другой код, я не могу много говорить об этом.
Однако, когда вы хотите изменить меню, вы должны позвонить invalidateOptionsMenu()
. Что это делает, так это то, что это недействительно меню, которое, в свою очередь, заставляет его воссоздавать. Во время отдыха один из обратных вызовов onPrepareOptionsMenu(Menu menu)
. Здесь вы можете внести изменения в свое меню.
Пример:
// This is where I want to change the menu. Can be anywhere in your activity.
invalidateOptionsMenu();
Затем переопределите этот метод
// Override this method to do what you want when the menu is recreated
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menu.findItem(R.id.pencil).setVisible(false);
return super.onPrepareOptionsMenu(menu);
}