У меня есть класс фрагмента, который расширяет 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.
РЕДАКТИРОВАТЬ : Я обнаружил проблему. Мой AndroidManifest нацелен на L11, это, кажется, скрывает кнопку меню и предотвращает вызов обратных вызовов. Однако, если я удалю это из манифеста, я потеряю некоторые другие необходимые мне функции (например активированное состояние в списках). Кто-нибудь знает, как решить эту проблему (включить кнопку меню) без удаления targetSdkVersion = 11
из манифеста?