[英]Change the icon to Toolbar Android
如何從工具欄中將圖標更改為我使用bbdd中顯示的方法獲得的新圖標。 問題是我無法訪問更新活動的事件以便能夠更改圖標。 我嘗試使用onPrepareOptionsMenu方法,但我無法使其工作。 我無法通過將代碼放在onStart中來執行此操作,因為它告訴我菜單對象為空或無效。
public boolean onPrepareOptionsMenu(Menu menu) {
menu.clear();
Drawable iconoMenu = obtenerIconoMenuCarro();
getMenuInflater().inflate(R.menu.menu_categorias, menu);
menu.getItem(0).setIcon(iconoMenu);
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_categorias, menu);
Drawable iconoMenu = obtenerIconoMenuCarro();
menu.getItem(0).setIcon(iconoMenu);
return true;
}
我的活動由AppCompactActivity擴展並通過AdapterView加載。 當我回到fragmentDialog或下一個活動時,我遇到了問題。
謝謝。
對我來說,最簡單的方法是保留對MenuItem的引用以供以后使用。
菜單項膨脹時獲取。
MenuItem menuItem;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_menu, menu);
//find the menu item from the id
menuItem = menu.findItem(R.id.myMenuItem);
return true;
}
然后使用mipmap資源或@drawable更改所需的圖像。
menuItem.setIcon(R.mipmap.ic_other_icon);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.