2013-06-12 15 views
2

У меня есть действие, имеющее несколько фрагментов в viewpager. Когда я открываю меню опций, он добавляет пункты меню из определенного фрагмента в меню опций. Я использую android 4.2 и имеет android:configChanges="orientation" Я не добавил screensize, из-за которого будет создано действие по изменению ориентации, которое я хочу.Фрагмент onCreateOptionsMenu не получает вызов при изменении ориентации

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

ответ

1

Done по телефону setMenuVisibility(true); в onResume моего класса фрагмента.

2

Редактировать: С Android O, supportInvalidateOptionsMenu устарел. Использовать напрямую invalidateOptionsMenu()

Это правильно. Android сгорит onConfigurationChanged

переопределить его и вызвать supportInvalidateOptionsMenu();

+0

Спасибо за ответ. Я использую Activity и supportInvalidateOptionsMenu есть в FragmentActivity. Я вызвал invalidateOptionsMenu в onConfigurationChanged и onResume активности и фрагмента. Но это не добавление пункта меню фрагмента к уже открытому меню опций при изменении ориентации. – anujprashar

+0

'supportInvalidateOptionsMenu()' устарел сейчас https://developer.android.com/reference/android/support/v4/app/FragmentActivity.html#supportInvalidateOptionsMenu() – user502144

+0

@ user502244, спасибо, что указали его – Blackbelt

Смежные вопросы