我回到我的主要活动从一个片段和一些逻辑,我必须改变操作栏菜单上图标的出现。以编程方式更改ActionBar图标
这是操作栏上的菜单:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="it.gn.sfa.Main">
<item
android:id="@+id/action_search"
android:actionViewClass="android.widget.SearchView"
android:icon="@drawable/ic_action_search"
android:showAsAction="collapseActionView|ifRoom"
android:title="Search" />
<item
android:id="@+id/action_filter"
android:icon="@drawable/ic_action_filter_empty"
android:showAsAction="ifRoom"
android:title="Filter" />
<item
android:id="@+id/action_new"
android:icon="@drawable/ic_action_new"
android:showAsAction="ifRoom"
android:title="New" />
</menu>
我不得不改变sencond项目(一个使用id = action_filter
)。 我试过不同的解决方案,发现在不同的职位上。最受好评的是
mOptionsMenu.getItem(0).setIcon(getResources().getDrawable(R.drawable.ic_action_filter));
但似乎不工作。
另一方面getActionBar().setIcon(getResources().getDrawable(R.drawable.ic_action_filter));
更改标志,我不想这样。
我该如何更改菜单上的第二项?
你能发布所有与mOptionsMenu相关的代码吗?具体来说,何时以及如何实例化此mOptionsMenu变量 – 2014-09-02 16:25:36
我在onCreateOptionsMenu(菜单菜单)中实例化mOptionsMenu:mOptionsMenu = menu。 – Luca 2014-09-02 17:29:54
查看我的答案:http://stackoverflow.com/a/28478791/1038702 – David 2015-02-12 13:39:43