我回到我的主要活動從一個片段和一些邏輯,我必須改變操作欄菜單上圖標的出現。以編程方式更改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