Как настроить ContextMenu в Android? - PullRequest
       22

Как настроить ContextMenu в Android?

0 голосов
/ 24 сентября 2019

После долгого нажатия на любой элемент просмотра рециркулятора, я хочу показать всплывающее окно.После просмотра приложения «Контакты» я решил использовать ContextMenu.Но его функция setHeaderView, кажется, не работает.Функция setHeaderTitle работает, опять же не может изменить цвет текста.Пункты меню не могут иметь значки.Но все эти вещи есть в наличии Android, приложение Контакты.Любая помощь приветствуется.

@Override
public void onCreateContextMenu(ContextMenu contextMenu, View view, ContextMenu.ContextMenuInfo contextMenuInfo) {
    contextMenu.setHeaderTitle(title);
    MenuInflater inflater = activity.getMenuInflater();
    inflater.inflate(R.menu.context_menu, contextMenu);
}

В PopupMenu этот код работает для значков, но не в ContextMenu.

try {
        // Reflection apis to enforce show icon
        Field[] fields = popup.getClass().getDeclaredFields();
        for (Field field : fields) {
            if (field.getName().equals(POPUP_CONSTANT)) {
                field.setAccessible(true);
                Object menuPopupHelper = field.get(popup);
                Class<?> classPopupHelper = Class.forName(menuPopupHelper.getClass().getName());
                Method setForceIcons = classPopupHelper.getMethod(POPUP_FORCE_SHOW_ICON, boolean.class);
                setForceIcons.invoke(menuPopupHelper, true);
                break;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
...