0

У меня есть основное действие, в котором вы можете изменять фрагменты, есть меню с двумя значками, которые отлично работают, когда я перехожу к следующему фрагменту, я хочу, чтобы значок поиска добавлялся в меню. Я новичок в разработке Android и Xamarin. Я попытался использовать OnPrepareOptionsMenu и OnCreateOptionsMenu во фрагменте, но я получаю ошибки, вот код.Добавление значка поиска при изменении Фрагмент в меню

public virtual void OnPrepareOptionsMenu(IMenu menu){ 
    MenuInflater.Inflate (Resource.Menu.action_menu_search, menu); 
    return base.OnCreateOptionsMenu (menu); 
} 

ошибки: FindClubBar.OnPrepareOptionsMenu (IMenu)»скрывает наследуется членом 'Fragment.OnPrepareOptionsMenu (IMenu)'. Чтобы заставить текущий элемент переопределить эту реализацию, добавьте ключевое слово переопределения.

(я попытался добавить переопределение, но это только вызывает больше ошибок)

Ссылка на объект требуется для не статическое поле, метод или свойство «MenuInflater.Inflate (Int, IMenu)» (CS0120)

Там не аргумент, учитывая, что соответствует требуемому формальный параметр 'Inflater' из 'Fragment.OnCreateOptionsMenu (IMenu, MenuInflater)' (CS7036)

Спасибо за ваше время

ответ

1

попытаться переопределить OnCreateOptionsMenu, он работает для меня.

public override void OnCreateOptionsMenu(IMenu menu, MenuInflater inflater) 
{ 
    inflater.Inflate(Resource.Menu.action_menu_search, menu); 
    base.OnCreateOptionsMenu(menu, inflater); 
} 

вы должны установить HasOptionsMenu = true в oncreate или OnActivityCreated

0

я обнаружил, что это также работает внутри основной деятельности

MenuInflater.Inflate (Resource.Menu.action_menu_search, pleaseWork);

однако я предпочитаю ваш путь, поскольку он находится внутри фрагмента, чего я отсутствовал, был HasOptionsMenu = true, спасибо

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