好吧,我喜欢NavigationView的想法,但是在以编程方式添加菜单项和放大器方面遇到了不好的经验。子菜单
protected void inflateMenu(Menu menu){
menu.addSubMenu(1, 2, 0, "Heading");
menu.add(MAIN_GROUP_ID, 0, 0, "Something 2");
menu.add(MAIN_GROUP_ID, 1, 0, "Title");
menu.addSubMenu(1, 2, 0, "Sub Menu");
menu.add(1, 3, 0, "Menu #1");
}
子菜单没有出现在NavigationView上,但如果我只是添加没有任何项目的子菜单,它们会出现在屏幕上,所以问题是,如何解决这个问题?
答案 0 :(得分:4)
这已在支持库的v23.0.0中修复,因此请不要忘记在更新后立即删除解决方法。
答案 1 :(得分:3)
我遇到了类似的问题并解决了如下问题: 您可以通过删除一个项目来通知NavigationView数据已更改。
首先添加一个项目然后删除它对我来说是个窍门。 添加菜单后调用以下行:
mNavigationView.getMenu().removeItem(mNavigationView.getMenu().add("").getItemId());
它并不好,但解决了这个问题。
答案 2 :(得分:2)
好吧,我找到了解决方案,我们只需要访问SELECT
y1.[Week Ending Date],
y1.L2N,
(
SELECT Sum(y2.L2N)
FROM [Occupied Apts & L2N] AS y2
WHERE y2.[Week Ending Date] <= y1.[Week Ending Date]
) AS RunL2n
FROM [Occupied Apts & L2N] AS y1;
,并在填充菜单后立即调用
NavigationMenuPresenter#updateMenuView(boolean)