androidcheckedandroid-optionsmenu

Checks not showing in Options Menu


Sometimes when doing some so very simple, you miss something big. I must be missing something huge because I am getting nowhere fast (and an hour of sifting through the web has revealed nothing).

I want to have a menu with items with checkmarks in group--just like a simple RadioGroup layout. I get the menu, but no checkmarks of any kind.

Here's the res/menu/options_menu.xml:

 <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/item1"
            android:title="item1"
        />
        <item
            android:id="@+id/item2"
            android:title="item2"
        />
        <item
            android:id="@+id/item3"
            android:title="item3"
            android:checked="true"
        />
    </group>

</menu>

And of course, here's the relevant methods in my Activity:

    @Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.options_menu, menu);
    return true;
}

This is about as simple as I can make it--any ideas on what I'm missing?


Solution

  • Here's the work-around:

    In your strings.xml file you can embed a unicode checkmark. There are two to choose from. For this project I prefer the friendlier check of \u2714. You then swap a string with the check-mark for a string without it via onPrepareOptionsMenu() as appropriate.

    Here's the xml code two strings, one with and one without checkmarks:

        <string name="opp_random">unchecked</string>
        <string name="opp_random_check">\u2714 checked</string>
    

    Happy coding!