How to change MenuItem icon in ActionBar programmatically

后端 未结 9 1650
小鲜肉
小鲜肉 2020-11-30 23:37

How to change MenuItem icon in ActionBar programmatically? I tried to use

MenuItem menuItem = (MenuItem)findViewById(R.id.action_settings);
menuItem.setIcon(         


        
9条回答
  •  孤城傲影
    2020-11-30 23:43

    Lalith's answer is correct.

    You may also try this approach:

    button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                invalidateOptionsMenu();
            }
        });
    
     @Override
     public boolean onPrepareOptionsMenu(Menu menu) {
    
        MenuItem settingsItem = menu.findItem(R.id.action_settings);
        // set your desired icon here based on a flag if you like
        settingsItem.setIcon(ContextCompat.getDrawable(this, R.drawable.ic_launcher)); 
    
        return super.onPrepareOptionsMenu(menu);
     }
    

提交回复
热议问题