You can’t use findViewById() on menu items in onCreate() because the menu layout isn’t inflated yet. You could create a global Menu variable and initialize it in the onCreateOptionsMenu() and then use it in your onClick().
private Menu menu;
In your onCreateOptionsMenu()
this.menu = menu;
In your button’s onClick() method
menu.getItem(0).setIcon(ContextCompat.getDrawable(this, R.drawable.ic_launcher));