Android popupMenu

        popupMenu = new PopupMenu(ActivityHousesNumList.this, imageViewhousesnum1);
        popupMenu.getMenuInflater().inflate(R.menu.menu_device_config, popupMenu.getMenu());
        popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem menuItem) {
                switch (menuItem.getItemId()) {
                    case R.id.action1:
                        try {

                            Log.e(TAG, "onMenuItemClick: 111111111111111111111111" );

                            JSONObject jsonObject = new JSONObject();
                            String stringValue = "";
                            jsonObject.put("AreaInfo", AreaInfo);
                            jsonObject.put("BuildingNum", BuildingNum);
                            jsonObject.put("UnitBuildingNum", UnitBuildingNum);

                            stringValue = jsonObject.toString();

                            Intent intent = new Intent(ActivityHousesNumList.this, ActivityDeviceUpdataConfigHouses.class);
                            intent.putExtra("data",stringValue);
                            startActivity(intent);
                            finish();

                        }catch (JSONException var4) {
                            var4.printStackTrace();
                        }
                        catch(Exception err) { }
                        break;
                }
                return false;
            }
        });
//        popupMenu.getMenu().removeItem(R.id.action3);
//        popupMenu.getMenu().findItem(R.id.action1).setTitle("设备配置");
//        popupMenu.getMenu().findItem(R.id.action2).setVisible(false);

        ClassGeneralMethod.sharedCenter().MenuShowIcons(popupMenu);

显示图片问题

    public void MenuShowIcons(PopupMenu popupMenu)
    {
        try {
            Class<?> classPopupMenu = Class.forName(popupMenu.getClass()
                    .getName());
            Field mPopup = classPopupMenu.getDeclaredField("mPopup");
            mPopup.setAccessible(true);
            Object menuPopupHelper = mPopup.get(popupMenu);
            Class<?> classPopupHelper = Class.forName(menuPopupHelper
                    .getClass().getName());
            Method setForceIcons = classPopupHelper.getMethod(
                    "setForceShowIcon", boolean.class);
            setForceIcons.invoke(menuPopupHelper, true);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
原文地址:https://www.cnblogs.com/yangfengwu/p/10051270.html