I want to use popup for a menu item in the action bar. This is all fine when I use this in Activity, but when I switch to the fragment, I get:
MenuPopupHelper cannot be used without an anchor
my snippet:
@Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case R.id.action_filter: createCategoriesPopupMenu(item); return true; case R.id.action_sort: createSortPopupMenu(item); return true; default: return super.onOptionsItemSelected(item); } } private void createSortPopupMenu(MenuItem item) { PopupMenu popup; final View menuItemView = getView().findViewById(item.getItemId()); Log.wtf("d","item getitemid"+item.getItemId()); if (menuItemView == null) { Log.wtf("d","menuItemView==null view"+view.findViewById(item.getItemId())); Log.wtf("d","menuItemView==null getAc"+getActivity().findViewById(item.getItemId()));
console output (assert):
07-08 14: 08: 16.659: A / d (1677): item getitemid2131165600 07-08
14: 08: 16.659: A / d (1677): menuItemView == null viewnull 07-08
14: 08: 16.663: A / d (1677): menuItemView == null getAcnull
I have not forgotten setHasOptionsMenu (true); in onCreateView () and view is the bloated layout from onCreateView()
source share