Here is the proper way how to handle MenuItems
from Fragment
:
public class MyFragment extends Fragment {
@Override
public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_inner_cards, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch(item.getItemId()){
case R.id.action_sort:
// DO STUFF
break;
case R.id.action_anytag:
// DO STUFF
break;
}
return true;
}
}
My suggestion is, instead of creating the items in Java code, use a custom menu.xml
only for your Fragment
, inflate it and use onOptionsItemSelected()
for handling click event on menu items.