【发布时间】:2016-09-02 20:11:09
【问题描述】:
我要从一个片段返回我的主要活动,对于某些逻辑,我必须更改操作栏菜单上图标的外观。
这是操作栏上的菜单:
<?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>
我必须更改第二个项目(id = action_filter 的那个)。
我尝试了不同的解决方案,在不同的帖子中找到。评价最高的是
mOptionsMenu.getItem(0).setIcon(getResources().getDrawable(R.drawable.ic_action_filter));
但似乎不起作用。
另一边getActionBar().setIcon(getResources().getDrawable(R.drawable.ic_action_filter));改了logo,我不想这样。
如何只更改菜单上的第二项?
【问题讨论】:
-
你能发布所有与mOptionsMenu相关的代码吗?具体来说,您何时以及如何实例化此 mOptionsMenu 变量
-
我在 onCreateOptionsMenu(Menu menu) 中实例化 mOptionsMenu:mOptionsMenu = menu.
-
在这里查看我的答案:stackoverflow.com/a/28478791/1038702
标签: android android-actionbar android-menu