如何在android中更改popupMenu项的标题?

时间:2017-09-21 06:53:58

标签: android popupmenu

popupMenu有两个项目,实现在回收站视图的onBindView中,我想在点击时更改项目的标题。

如果不可能,那么请给我一些其他解决方案,以显示在recyclerview卡上的菜单

feedmenu是图标,单击

显示弹出菜单
finalHolder.feed_menu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                final PopupMenu popup = new PopupMenu(context, v);
                final MenuInflater inflater = popup.getMenuInflater();
                inflater.inflate(R.menu.feed_menu, popup.getMenu());
               final Menu popupMenu = popup.getMenu();
                popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                    @Override
                    public boolean onMenuItemClick(MenuItem item) {
                        switch (item.getItemId()) {
                            case R.id.bookmark:
                        popupMenu.findItem(R.id.bookmark).setVisible(false);
                                Toast.makeText(context, "item1", Toast.LENGTH_SHORT).show();
                                break;
                            case R.id.report:
                                 Toast.makeText(context, "item", Toast.LENGTH_SHORT).show();
                                break;
                        }
                        return false;
                    }
                });
                popup.show();
            }
        });

/menu/feed_menu.xml

<item android:id="@+id/menu"
    android:title="menu" >
    <item
        android:id="@+id/bookmark"
        android:title="@string/feed_bookmark" />

    <item
        android:id="@+id/report"
        android:title="@string/feed_report" />
</item>

1 个答案:

答案 0 :(得分:0)

好的,我们假设你有一个Adapter和一个ViewHolder,在你的ViewHolder上创建一个PopupMenu的实例,为了更清晰一点,实现{{ 1}},打开视图ID以触发您想要的按钮/视图,然后只需初始化PopupMenu并执行您想要的操作。 如果更改标题,如果操作也不同,我建议你有多个菜单项并通过删除你不需要的项目来处理它们,例如:

&#13;
&#13;
OnClickListener
&#13;
&#13;
&#13;