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