После долгого нажатия на любой элемент просмотра рециркулятора, я хочу показать всплывающее окно.После просмотра приложения «Контакты» я решил использовать 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();
}