我有操作栏,在其中我根据以下几个先决条件动态滑动图标图像:
if(atPosition == null & parentActivity.isLocationFixed())
setActionButton(R.id.menu_plant, R.drawable.ic_menu_plant);
else
setActionButton(R.id.menu_plant, R.drawable.ic_menu_plant_disabled);
在 setActionButton 我只是找到合适的项目并为其设置图标:
MenuItem item = menu.findItem(menuId);
item.setIcon(iconRes);
现在奇怪的东西:这适用于我所有的应用程序,除了一个地方。我试图记录里面的内容,但该图标的 id 是正确的 - setIcon() 只是没有设置该图标。我仔细检查了图标资源,资源ID(我用另一个图标尝试过......),但它没有设置任何东西。是否有任何缓存或影响此行为的东西?我对此很生气:(。
编辑 - 一些代码: Pastebin 1 - 这适用 Pastebin 2 - 这不起作用
编辑 2 - 这只是关于 setIcon()。当我尝试 setEnabled() 时,它可以工作 - 所以我确定我在正确的菜单项上调用它。