【问题标题】:Android Fragment popupMenu setOnMenuItemClickListener remplaces thisAndroid Fragment popupMenu setOnMenuItemClickListener 替换了这个
【发布时间】:2021-06-01 16:59:40
【问题描述】:
LinearLayout layout = view.findViewById(R.id.search2);//You can use other view as anchor
        layout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                PopupMenu popupMenu = new PopupMenu(this, view);//View will be an anchor for PopupMenu
                popupMenu.inflate(R.menu.menu);
                Menu menu = popupMenu.getMenu();
                popupMenu.setOnMenuItemClickListener(this);
                popupMenu.show();
            }
        });

我在片段而不是活动中使用它..所以我必须用另一个词来改变两个“这个” 这两行我要写什么?

【问题讨论】:

    标签: android fragment


    【解决方案1】:
    //pass activity context in PopupMenu
    
    PopupMenu popupMenu = new PopupMenu(getActivity, view);
    
    //imaplement fragment 
    
    public class yourFragment extends Fragment implement MenuItem.OnMenuItemClickListener{
    //then set to popupMenu
    popupMenu.setOnMenuItemClickListener(this);
    }
    

    【讨论】:

    • 第一行应该写在活动中而不是片段中?我的其余代码应该放在哪里?如果我添加实现 menuitem.onMenuItem,我也有错误.....
    • "第一行应该写在活动中而不是片段中?"->你可以在片段中使用它。"我也有错误"->在错误消息上只需 Alt+ENTER,它会显示要实现的方法。然后全选。@Ahmedfeki
    猜你喜欢
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    相关资源
    最近更新 更多