У меня есть фрагментный класс, который расширяет Fragment
и вызывает setHasOptionsMenu
для участия в меню. Этот класс также реализует onCreateOptionsMenu
, onPrepareOptionsMenu
и onOptionsItemSelected
.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
....
}
Я динамически загружаю этот фрагмент, используя FragmentTransaction
в моей Деятельности (которая расширяет FragmentActivity
).
Однако ни один из обратных вызовов меню (onCreateOptionsMenu
, onPrepareOptionsMenu
и onOptionsItemSelected
) не вызывается (я отлаживал с некоторыми точками останова в этих методах), и меню не отображается.
Я что-то упустил? Нужно ли что-то добавить в свою активность?
Я использую библиотеку совместимости Android, компилирую с L11 SDK и тестирую в Xoom.
РЕДАКТИРОВАТЬ : Я нашел проблему. Мой AndroidManifest ориентирован на L11, это, кажется, скрывает кнопку меню и предотвращает обратные вызовы. Однако, если я удаляю это из манифеста, я теряю некоторые другие необходимые мне функции (например, активированное состояние в списках). Кто-нибудь знает, как решить эту проблему (включить кнопку меню), не удаляя targetSdkVersion=11
из манифеста?