小编Mar*_*ski的帖子

如果没有锚点,则无法使用菜单弹出助手

我想在操作栏中使用弹出菜单项.当我在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)

java android android-fragments android-activity

4
推荐指数
1
解决办法
4988
查看次数