0

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

感谢您的时间

4

2 回答 2

2

尝试覆盖OnCreateOptionsMenu,它对我有用。

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

你必须HasOptionsMenu = true设置oncreateOnActivityCreated

于 2016-03-22T23:59:03.980 回答
0

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

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

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

于 2016-03-28T18:48:17.227 回答