【问题标题】:Adding Search icon when changed Fragment to Menu将片段更改为菜单时添加搜索图标
【发布时间】:2016-03-22 16:30:11
【问题描述】:

我有一个主要活动,您可以在其中更改片段,有一个带有 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)' (CS7036) 所需的形参 'inflater' 相对应的参数

感谢您的宝贵时间

【问题讨论】:

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


    【解决方案1】:

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

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

    您必须在oncreateOnActivityCreated 中设置HasOptionsMenu = true

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-04
        • 2012-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多