I think I understand what you may want to do. It seems to have been much easier in VB. Since the menu has to be created (and recreated) whenever Activity_Create is called, the only way I can think of doing this is to some type of menu flag system, looking at the flags and creating each menu item as needed depending on the flag. For example, if you have only a mute button that you want to modify in this way, then it would look basically like this.
Sub Activity_Create
<Other stuff done in this sub>
'Create the the first menu items that are unchanging.
Activity.AddMenuItem2("Item_1", "Item1", <statement to load the bitmap>)
Activity.AddMenuItem2("Item_2", "Item1", <statement for this bitmap>)
'Create the changing mute button
If muteFlag = True then
Activity.AddMenuItem2("Unmute", "Mute", <statement to load 'muted' image>)
Else
Activity.AddMenuItem2("Mute", "Mute", <statement to load 'mute' image>)
End If
'Create other unchanging menu items.
<code to create these items>
End Sub
It may be possible to write some subs that do what is needed where by those subs are only called in Activity_Create. I don't know, I'd have to play with it.
The "Mute_Click" sub would mute or unmute the mic or speakers depending on the current state of muteFlag and then would set muteFlag appropriately. The user won't see any change until they tap the device's Menu button.
I don't see any other way of doing what you want except with something along these lines. I had to do a similar thing with an onscreen visual menu I created for a VB package I was part of producing.