将片段更改为菜单

时间:2016-03-22 16:30:11

标签: android android-fragments xamarin xamarin.android oncreateoptionsmenu

我有一个主要活动,您可以在其中更改片段,有一个菜单有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)

感谢您的时间

2 个答案:

答案 0 :(得分:1)

尝试覆盖OnCreateOptionsMenu,它适用于我。

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

您必须在HasOptionsMenu = trueoncreate

中设置OnActivityCreated

答案 1 :(得分:0)

我发现这也适用于主要活动

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

然而我更喜欢你的方式,因为它在片段内,我缺少的是HasOptionsMenu = true,谢谢