Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将片段更改为菜单时添加搜索图标_Android_Android Fragments_Xamarin_Xamarin.android_Oncreateoptionsmenu - Fatal编程技术网

Android 将片段更改为菜单时添加搜索图标

Android 将片段更改为菜单时添加搜索图标,android,android-fragments,xamarin,xamarin.android,oncreateoptionsmenu,Android,Android Fragments,Xamarin,Xamarin.android,Oncreateoptionsmenu,我有一个主要的活动,你可以在其中改变片段,有一个菜单与2个图标,工作良好,当我改变到下一个片段,我希望一个搜索图标被添加到菜单。我不熟悉android开发和Xamarin。我曾尝试在片段中使用OnPrepareOptions菜单和OnCreateOptions菜单,但出现错误,下面是代码 public virtual void OnPrepareOptionsMenu(IMenu menu){ MenuInflater.Inflate (Resource.Menu.action_menu

我有一个主要的活动,你可以在其中改变片段,有一个菜单与2个图标,工作良好,当我改变到下一个片段,我希望一个搜索图标被添加到菜单。我不熟悉android开发和Xamarin。我曾尝试在片段中使用OnPrepareOptions菜单和OnCreateOptions菜单,但出现错误,下面是代码

public virtual void OnPrepareOptionsMenu(IMenu menu){
    MenuInflater.Inflate (Resource.Menu.action_menu_search, menu);
    return base.OnCreateOptionsMenu (menu);
}
错误: FindClubBar.OnPrepareOptions菜单(IMenu)'隐藏继承的成员'Fragment.OnPrepareOptions菜单(IMenu)'。要使当前成员覆盖该实现,请添加override关键字

(我已尝试添加覆盖,但它只会导致更多错误)

非静态字段、方法或属性“MenuInflater.Inflate(int,IMenu)”需要对象引用(CS0120)

没有给出与“Fragment.OnCreateOptions菜单(IMenu,MenuInflater)”的必需形式参数“inflater”(CS7036)相对应的参数


感谢您抽出时间

尝试覆盖创建选项菜单上的,它对我有效

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

您必须在
oncreate
OnActivityCreated
中设置
hasOptions菜单=true
,尝试覆盖
oncreateOptions菜单
,它对我有效

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

您必须在
oncreate
OnActivityCreated

中设置
haspoptions menu=true
,我发现这在主活动中也有效

菜单充气(Resource.Menu.action\u Menu\u search,pleaseWork)


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

我发现这在主要活动中也起作用

菜单充气(Resource.Menu.action\u Menu\u search,pleaseWork)

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