Android Studio用genymotion運(yùn)行后小圖標(biāo)無(wú)法顯示問(wèn)題
提出問(wèn)題
我做的是一個(gè)通訊錄,用到了選項(xiàng)菜單,每一個(gè)菜單項(xiàng)左邊我都添加了一個(gè)小圖標(biāo),運(yùn)行后發(fā)現(xiàn)沒(méi)有顯示出來(lái)。

解決方案
利用反射機(jī)制,根據(jù)對(duì)象來(lái)尋找類,再根據(jù)類來(lái)找方法,在顯示菜單選項(xiàng)的Activity中復(fù)寫onMenuOpened方法:
@Override
public boolean onMenuOpened(int featureId, Menu menu) {
if(menu!=null){
if(menu.getClass().getSimpleName().equalsIgnoreCase("MenuBuilder")){
try {
Method method=menu.getClass().getDeclaredMethod("setOptionalIconsVisible",Boolean.TYPE);
method.setAccessible(true);
method.invoke(menu,true);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
return super.onMenuOpened(featureId, menu);
}
我解釋一下,因?yàn)樵O(shè)置圖標(biāo)顯示這個(gè)方法是不可訪問(wèn)的(private),所以我們才會(huì)這么麻煩要用到反射機(jī)制來(lái)顯現(xiàn)圖標(biāo)。
代碼我也解釋一下,我們用menu對(duì)象來(lái)反射MenuBuilder這個(gè)類,看這個(gè)類有沒(méi)有。得到這個(gè)類以后,再通過(guò)這個(gè)類得到它的方法,這個(gè)方法叫setOptionalIconsVisible,這個(gè)是要自己打出來(lái)的,這個(gè)方法它是Boolean類型的。因?yàn)檫@個(gè)方法是私有的,所以我們要把不可訪問(wèn)設(shè)置為可訪問(wèn)的。最后我們調(diào)用method.invoke設(shè)置true后將圖標(biāo)變?yōu)榭梢?jiàn)的。
修改之后

好了,到這里我們的圖標(biāo)就顯示成功啦!
總結(jié)
到此這篇關(guān)于Android Studio用genymotion運(yùn)行后小圖標(biāo)無(wú)法顯示怎辦的文章就介紹到這了,更多相關(guān)Android Studio genymotion 小圖標(biāo)無(wú)法顯示內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Android Studio真機(jī)無(wú)線連接USB設(shè)備調(diào)試運(yùn)行詳解流程
- Android進(jìn)程運(yùn)行中權(quán)限被收回導(dǎo)致關(guān)閉的問(wèn)題解決
- Android如何讓APP無(wú)法在指定的系統(tǒng)版本上運(yùn)行(實(shí)現(xiàn)方法)
- 解決AndroidStudio無(wú)法運(yùn)行java中的mian方法問(wèn)題
- Android Studio 運(yùn)行按鈕灰色的完美解決方法
- Android studio 運(yùn)行main 函數(shù)的方法
- Android運(yùn)行時(shí)權(quán)限終極方案(PermissionX)
- Android 7.0 運(yùn)行時(shí)權(quán)限彈窗問(wèn)題的解決
- 10種提升android運(yùn)行效率的建議
相關(guān)文章
Android studio無(wú)法創(chuàng)建類和接口和提示問(wèn)題的完美解決辦法
這篇文章主要介紹了Android studio無(wú)法創(chuàng)建類和接口和提示問(wèn)題解決辦法,內(nèi)容比較簡(jiǎn)單,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-04-04
如何正確理解和使用Activity的4種啟動(dòng)模式
本文主要介紹了如何正確理解和使用Activity的4種啟動(dòng)模式。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03
Android仿一號(hào)店貨物詳情輪播圖動(dòng)畫效果
這篇文章主要為大家詳細(xì)介紹了Android-仿一號(hào)店貨物詳情輪播圖動(dòng)畫效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Android Zxing 轉(zhuǎn)換豎屏掃描且提高識(shí)別率的方法
本篇文章主要介紹了Android Zxing 轉(zhuǎn)換豎屏掃描且提高識(shí)別率的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Android實(shí)現(xiàn)發(fā)送短信功能實(shí)例詳解
這篇文章主要介紹了Android實(shí)現(xiàn)發(fā)送短信功能的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android實(shí)現(xiàn)發(fā)送短信的原理、步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-02-02
Android中asset文件夾與raw文件夾的區(qū)別深入解析
本篇文章是對(duì)Android中的asset文件夾與raw文件夾區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
Android 開(kāi)發(fā)調(diào)試工具的使用總結(jié)
這篇文章主要介紹了Android 開(kāi)發(fā)調(diào)試工具的使用總結(jié)的相關(guān)資料,這里整理了,Android開(kāi)發(fā)所需要的常用工具,需要的朋友可以參考下2016-11-11

