如何针对底部导航栏菜单项设置弹出菜单?

How can I set a popup menu against a bottom navigation bar menu item?

我已经在我的项目中添加了一个底部导航栏,如下所示。

    BottomNavigationView bottomNavigationView= 
    (BottomNavigationView)findViewById(R.id.navigationbar);
    pass.disableShiftMode(bottomNavigationView);
    bottomNavigationView.setSelectedItemId(R.id.navigationbar);
     final Menu menu = bottomNavigationView.getMenu();
     MenuItem menuItem = menu.getItem(0);
    menuItem.setChecked(true);
    bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {


            switch (item.getItemId()){
                case R.id.home:

                    break;

                case R.id.categories:
                    Intent intent1 = new Intent(MainActivity.this, category.class);
                    startActivity(intent1);
                    break;
                case R.id.more:

                   Intent itent6=new Intent(MainActivity.this,more.class);
                    startActivity(itent6);
                    break;
                case R.id.account:
                    Intent intent3 = new Intent(MainActivity.this, profile.class);
                    startActivity(intent3);
                    break;
                case R.id.cart:
                    Intent intent4 = new Intent(MainActivity.this, cart.class);
                    startActivity(intent4);
                    break;

            }
            return false;
        }
    });

我想在我们点击带有 id R.id.more 的菜单项时添加一个弹出菜单。 我尝试了几种方法,但在大多数情况下,我收到一条错误消息,提示未找到锚点。 在其他情况下,弹出窗口根本不显示。

这可能对您有所帮助。

       case R.id.more:
                    PopupMenu popup = new PopupMenu(MainActivity.this, findViewById(R.id.more));
                    MenuInflater inflater = popup.getMenuInflater();
                    inflater.inflate(R.menu.mymenu, popup.getMenu());
                    popup.show();

                    /*Intent itent6=new Intent(MainActivity.this,more.class);
                startActivity(itent6);*/
                    break;