我想在操作栏中使用弹出菜单项.当我在Activity中使用它时,一切都很好但是当我切换到片段时,我得到:
MenuPopupHelper cannot be used without an anchor
Run Code Online (Sandbox Code Playgroud)
我的片段:
@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()));
//final View searchItemView = getView().findViewById(R.id.action_search);
//popup = new PopupMenu(getActivity(), searchItemView);
}
popup = new PopupMenu(getActivity(), menuItemView);
Menu menu = popup.getMenu();
addSortMenuItems(menu);
popup.setOnMenuItemClickListener(new OnMenuItemClickListener()
{
@Override …Run Code Online (Sandbox Code Playgroud)