У меня есть Toolbar
используется как ActionBar
с двумя элементами. Я только хочу когда-либо показывать один за раз, поскольку они вроде заменяют друг друга. Проблема в том, что, когда я заменяю Fragment
, он вызывает onCreateOptionsMenu
и снова раздувает меню, что означает, что будет показана одна и та же кнопка действия, даже если другая была ранее в ActionBar
. Мне нужно будет что-то изменить в ActionBar
от моего Fragments
или когда появится новый Fragment
(с FragmentManager.FragmentTransaction.replace()
). Поэтому мой вопрос в том, как я не вызываю onCreateOptionsMenu
, когда отображается новый фрагмент?Как не называтьCreateOptionsMenu при вызове FragmentManager.replace()
Я не могу использовать boolean
, потому что мне все равно понадобится, чтобы он заново сменил ориентацию. И какие-либо советы о том, как обращаться с идеей, меняются для моей ситуации?
Я могу отправить код, но он кажется более концептуальным, и я не уверен, что это поможет.
Я сделал это где 'onPrepareOptionsMenu' возвращает ложь, и это не вызывает' onCreateOptionsMenu', но 'onCreateOptionsMenu' называли перед ним. –
Да, потому что в первый раз onCreateOptionsMenu вызывается в конце метода onCreate Activity. Я не уверен, будет ли это работать, но попробуйте подход, который предложил @OmarAlbelbaisy. – MatBos
Нет, я имею в виду, что 'onCreateOptionsMenu' вызывается перед новой транзакцией фрагмента. Я сделал то, что он предложил. Я не думаю, что это помогло. Я решил свою проблему, вручную раздувая «Меню». –