次のようないくつかの前提条件に基づいて、アイコン画像を動的にスワイプするアクションバーがあります。
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);
そして今、奇妙なこと: これは、1 つの場所を除くすべてのアプリで機能します。ログに記録しようとしましたが、そのアイコンのIDは正しいです-setIcon()はそのアイコンを設定しません。アイコンリソース、リソースIDも再確認しました(別のアイコンで試しました...)が、何も設定されていません。この動作に影響を与えるキャッシュまたは何かがありますか? 私はそれに腹を立てています:(。
編集 - いくつかのコード: Pastebin 1 - これは動作します Pastebin 2 - これは動作しません
EDIT 2 - setIcon() についてです。setEnabled() を実行しようとすると、機能するので、正しいメニュー項目で呼び出していると確信しています。