Android popupMenu

Posted 优秀不够,你是否无可替代

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
        }
    }

 

以上是关于Android popupMenu的主要内容,如果未能解决你的问题,请参考以下文章

android如何在像GMail这样的webview中显示PopupMenu

Android如何控制PopupMenu弹出菜单的宽度尺寸

Android popupMenu

PopupMenu的演示样例

popupMenu显示图标问题

Android RecyclerView实现长按弹出PopupMenu菜单