Ответ 1
Сначала прочитайте onPrepareOptionsMenu (меню меню)
Каждый раз, когда пользователь нажимает кнопку Menu на своем Android-устройстве, находясь внутри одной из ваших действий, вызывается метод onPrepareOptionsMenu
. При первом отображении меню (т.е. Только один раз) вызывается метод onCreateOptionsMenu
.
В принципе, метод onPrepareOptionsMenu
- это то, где вы должны вносить какие-либо изменения, такие как включение/отключение определенных пунктов меню или изменение текста пункта меню в зависимости от обстоятельств.
Итак, сделайте это (не используйте onCreateOptionsMenu(Menu menu)
)
//Dynamically create context Menu
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menu.clear(); //Clear view of previous menu
MenuInflater inflater = getMenuInflater();
if(condition_true)
inflater.inflate(R.menu.menu_one, menu);
else
inflater.inflate(R.menu.menu_two, menu);
return super.onPrepareOptionsMenu(menu);
}