在我的应用中,我已将自定义菜单项添加到用户时间轴项目。我在迭代中创建自定义菜单。有没有办法将自定义属性附加到自定义菜单项? ,以便我可以知道点击了哪个菜单项。
是我的自定义菜单代码,
// And custom actions
List<MenuValue> menuValues = new ArrayList<MenuValue>();
menuValues.add(new MenuValue().setIconUrl(WebUtil.buildUrl(req, "/static/images/drill.png")).setDisplayName("Found"));
menuItemList.add(new MenuItem().setValues(menuValues).setId("found").setAction("CUSTOM"));
timelineItem.setMenuItems(menuItemList);
timelineItem.setNotification(new NotificationConfig().setLevel("DEFAULT"));
提前致谢。
答案 0 :(得分:2)
您已经使用setId()
方法将属性附加到菜单项。 Glass会忽略id中的值,除非在选择此菜单项时将其发送给您。你可以在这里放任何你想要的东西(在合理范围内 - 有几百个字符的限制)。
因此,根据上面的示例,如果选择了菜单项,您将收到类似这样的通知:
{
"collection": "timeline",
"itemId": "8a84302a-1da7-46f2-ac72-2c008fce2b4b",
"operation": "UPDATE",
"userToken": "12345678901234567890",
"verifyToken": "shibboleet",
"userActions": [
{
"type": "CUSTOM",
"payload": "found"
}
]
}
您将检查userActions.payload
字段并根据此字段采取措施。