Make a Popupmenu in Android Java

Create a PopupMenu in android java with menu resource and icons support

This Popupmenu for android is fully functional with menu resource file, icons etc.
The menu is engulfed in Try block so any exceptions it may thrown are caught.

You will have to place your menu resource file in the menu folder and this code will inflate that menu file.
You can set icons too in the menu file and the popupmenu will show icons.

Advertisements

Here is the code

try {


    PopupMenu menu = new PopupMenu(getApplicationContext(), view);
    menu.getMenuInflater().inflate(R.menu.popupmenumain,menu.getMenu());

    menu.show();


    Object menuHelper;
    Class[] argTypes;
    try {
        Field fMenuHelper = PopupMenu.class.getDeclaredField("mPopup");
        fMenuHelper.setAccessible(true);
        menuHelper = fMenuHelper.get(menu);
        argTypes = new Class[]{boolean.class};
        menuHelper.getClass().getDeclaredMethod("setForceShowIcon", argTypes).invoke(menuHelper, true);
    } catch (Exception e) {

    }
    menu.show();

    menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem menu_item) {
            switch (menu_item.getItemId()) {
                case R.id.locale:

                    //Do your action here


                    break;
                case R.id.delete:

                    //Do your action here
                    break;
            }
            return true;
        }
    });
,

Post navigation

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.