package com.ichi2.anki.widgets; import java.lang.reflect.Field; import java.lang.reflect.Method; import android.content.Context; import android.support.v7.widget.PopupMenu; import android.view.View; /** * A simple little hack to force the icons to display in the PopupMenu */ public class PopupMenuWithIcons extends PopupMenu { public PopupMenuWithIcons(Context context, View anchor, boolean showIcons) { super(context, anchor); if (showIcons) { try { Field[] fields = PopupMenu.class.getDeclaredFields(); for (Field field : fields) { if ("mPopup".equals(field.getName())) { field.setAccessible(true); Object menuPopupHelper = field.get(this); Class<?> classPopupHelper = Class.forName(menuPopupHelper .getClass().getName()); Method setForceIcons = classPopupHelper.getMethod( "setForceShowIcon", boolean.class); setForceIcons.invoke(menuPopupHelper, true); break; } } } catch (Exception e) {} } } }