Can anyone point in the direction of any tutorials that show how to create an options menu with clicakble checks like in the picture below:
I have tried as follows:
/** Menu creation and setup **/
/* Creates the menu items */ public boolean onCreateOptionsMenu(Menu menu) { boolean result = super.onCreateOptionsMenu(menu);
menu.add(0, 1, 0, "Speaker").setCheckable(true);
menu.add(0, 2, 0, "Mute").setCheckable(true);
return result;
}
/* Handles item selections */ public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 1: if(audioManager.isSpeakerphoneOn()==false){ audioManager.setSpeakerphoneOn(true); audioManager.setRouting(AudioManager.MODE_IN_CALL, AudioManager.ROUTE_SPEAKER, AudioManager.ROUTE_ALL); }else{ audioManager.setSpeakerphoneOn(false); audioManager.setRouting(AudioManager.MODE_IN_CALL, AudioManager.ROUTE_EARPIECE, AudioManager.ROUTE_ALL); } return true; case 2: if(audioManager.isMicrophoneMute()) audioManager.setMicrophoneMute(false); else audioManager.setMicrophoneMute(true); return true; } return false; }
But this doesn't work it only gives me text on the buttons on the options menu
EDIT: I have added the following onPrepareOptionsMenu method:
public boolean onPrepareOptionsMenu(Menu menu){
boolean result = super.onPrepareOptionsMenu(menu);
if(audioManager.isSpeakerphoneOn())
menu.findItem(1).setChecked(true);
else
menu.findItem(1).setChecked(false);
if(audioManager.isMicrophoneMute())
menu.findItem(2).setChecked(true);
else
menu.findItem(2).setChecked(false);
return result;
}
However I get the same outcome just text and no check light as in the picture above