Я поместил setHasOptionsMenu(true)
внутрь onCreateView
, но я все еще не могу вызвать onCreateOptionsMenu
внутри фрагменты.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setHasOptionsMenu(true);
return inflater.inflate(R.layout.facesheet, container, false);
}
Ниже мой onCreateOptionsMenu
код.
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
getSupportMenuInflater().inflate(R.menu.layout, menu);
return (super.onCreateOptionsMenu(menu));
}
Сообщение об ошибке я получаю:
Метод
onCreateOptionsMenu(Menu)
типа Fragment должен переопределить или реализовать метод супертипа.
Ответы:
попробуй это,
И
onCreate
добавьте эту строку, чтобы параметры появились в вашемToolbar
источник
setHasOptionsMenu(true);
setHasOptionsMenu(true);
должен быть вызван,onCreate()
чтобы быть полным.У вас уже есть автоматически сгенерированный файл res / menu / menu.xml, определяющий action_settings .
В вашем MainActivity.java есть следующие методы:
В
onCreateView()
методе вашего вызова фрагмента:а также добавьте эти 2 метода:
Наконец, добавьте новый файл res / menu / фрагмент_меню.xml, определяющий action_1 и action_2 .
Таким образом, когда ваше приложение отображает фрагмент, его меню будет содержать 3 записи:
источник
Я попробовал ответы @Alexander Farber и @Sino Raj. Оба ответа хороши, но я не могу использовать onCreateOptionsMenu внутри моего фрагмента, пока не обнаружу, чего не хватает:
Добавьте setSupportActionBar (панель инструментов) в моей деятельности, например:
Я надеюсь, что этот ответ может быть полезен для кого-то с той же проблемой.
источник
Вызов
внутри
фрагмента
источник
источник