簡體   English   中英

將圖標更改為Android工具欄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM