我有一个主要活动,您可以在其中更改片段,有一个菜单有2个图标,工作正常,当我更改为下一个片段我想要一个搜索图标添加到菜单。我是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)'。要使当前成员覆盖该实现,请添加override关键字。
(我尝试过添加覆盖,但只会导致更多错误)
非静态字段,方法或属性'MenuInflater.Inflate(int,IMenu)'(CS0120)
需要对象引用没有任何参数对应于'Fragment.OnCreateOptionsMenu(IMenu,MenuInflater)'所需的形式参数'inflater'(CS7036)
感谢您的时间
答案 0 :(得分: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
答案 1 :(得分:0)
我发现这也适用于主要活动
MenuInflater.Inflate(Resource.Menu.action_menu_search,pleaseWork);
然而我更喜欢你的方式,因为它在片段内,我缺少的是HasOptionsMenu = true,谢谢