Reputation: 33
I have a main activity in which you can change fragments, there is a menu with 2 icons which work fine, when i change to the next fragment i want a search icon to be added to the menu. I am new to android development and Xamarin. I have tried using OnPrepareOptionsMenu and OnCreateOptionsMenu in the fragment but am getting errors, here is the code.
public virtual void OnPrepareOptionsMenu(IMenu menu){
MenuInflater.Inflate (Resource.Menu.action_menu_search, menu);
return base.OnCreateOptionsMenu (menu);
}
errors: FindClubBar.OnPrepareOptionsMenu(IMenu)' hides inherited member 'Fragment.OnPrepareOptionsMenu(IMenu)'. To make the current member override that implementation, add the override keyword.
(I have tried adding override but it just causes more errors)
An object reference is required for the non-static field, method, or property 'MenuInflater.Inflate(int, IMenu)' (CS0120)
There is no argument given that corresponds to the required formal parameter 'inflater' of 'Fragment.OnCreateOptionsMenu(IMenu, MenuInflater)' (CS7036)
Thank you for your time
Upvotes: 0
Views: 409
Reputation: 33
i found that this also works inside of the main activity
MenuInflater.Inflate (Resource.Menu.action_menu_search, pleaseWork);
however i do prefer your way as it is inside the fragment, what i was missing was the HasOptionsMenu = true, thank you
Upvotes: 0
Reputation: 1438
try to override OnCreateOptionsMenu
, it works for me.
public override void OnCreateOptionsMenu(IMenu menu, MenuInflater inflater)
{
inflater.Inflate(Resource.Menu.action_menu_search, menu);
base.OnCreateOptionsMenu(menu, inflater);
}
you must set HasOptionsMenu = true
in oncreate
or OnActivityCreated
Upvotes: 2