Здесь вы используете меню Activity, поэтому, если у вас есть одно приложение Activity, оно будет увеличено только один раз, во время onCreateOptionsMenu
- это сценарий с одним вызовом. Если вы хотите изменить его, то вам нужно сделать недействительным текущий и надуть новый - поскольку это глобальное меню приложения, оно имеет смысл только в том случае, если вы хотите изменить его содержимое - вы делаете это с помощью onPrepareOptionsMenu
, а затем надуваете его. снова в вызове onCreateOptionsMenu
.
Но если вы вносите много изменений в меню, тогда лучше использовать меню с определенным фрагментом c - они живут только до тех пор, пока их фрагмент - меню
Итак, чтобы ответить на ваш конкретный c вопрос - вы не можете НЕ запускать onCreateOptionsMenu
. Вы можете переопределить его, чтобы ничего не делать, но тогда меню не будет раздуваться
EDIT - похоже, я тоже неправильно понял документацию. Ключевой бит для onPrepareOptionsMenu :
Это вызывается прямо перед отображением меню каждый раз, когда оно отображается.
Что на практике означает, что каждый раз при нажатии на меню будет вызываться onPrepareOptionsMenu
, без вызова onCreateOptionsMenu