I am trying to inflate a menu in a class that inherits the Fragment
class.
Here is my OnCreateOptionsMenu()
method -
@Override
public boolean OnCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.forecastfragment, menu) ;
return true;
}
This raises the following error:
Cannot resolve method 'getMenuInflater()'
I tried :
MenuInflater inflater = getActivity().getMenuInflater();
but then Android Studio highlights @Override
in red and states:
Method does not override method from its superclass
I also tried to create a getMenuInflater
method in the same class and have it return new MenuInflater(this)
public MenuInflater getMenuInflater() {
return new MenuInflater(this);
}
but then the following error is thrown :
error: incompatible types: ForecastFragment cannot be converted to Context
error: method does not override or implement a method from a supertype
What do I do?
The signature of your onCreateOptionsMenu
doesn't look right. Take a look at the docs here
Take a look this code
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);//Make sure you have this line of code.
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// TODO Add your menu entries here
super.onCreateOptionsMenu(menu, inflater);
}