我正在嘗試檢查菜單組中的默認項目。我沒有改變使用代碼的菜單中的任何東西。在菜單組中檢查默認項目
菜單如下:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:title="Map type">
<menu>
<group
android:checkableBehavior="single"
>
<item
android:id="@+id/nav_map_type_normal"
android:title="Normal"
android:checked="true"
/>
<item
android:id="@+id/nav_map_type_satellite"
android:title="Satellite"
/>
<item
android:id="@+id/nav_map_type_terrain"
android:title="Terrain"
/>
<item
android:id="@+id/nav_map_type_hybrid"
android:title="Hybrid"
/>
</group>
</menu>
</item>
<item
android:id="@+id/nav_toggle_traffic"
android:title="Toggle traffic"
/>
<item
android:id="@+id/nav_settings"
android:icon="@drawable/ic_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
/>
</menu>
當首先顯示菜單時,第一項(普通)被突出顯示,以指示它被選中。這就是我想要發生的事情。然後我想要突出顯示在每個項目被按下時通過組。
的問題是:
如果我按衛星,正常和衛星突出
如果我再按混合,正常遺體強調,Hybrid是 高亮顯示,衛星恢復到其未經檢查的狀態。
只有在實際按下Normal之後,它的檢查狀態纔會像應該那樣工作。
我已經嘗試刪除android:checked =「true」並在代碼中使用performIdentifierAction,但這並未改變選中的狀態。
我可以得到它似乎正在工作,只要將正常選項設置爲選中(錯誤)每當另一個選項被按下,但我真的希望它的工作,而不需要添加代碼。我認爲它**應該**就像是一組單選按鈕一樣,在這種情況下總會選擇一個按鈕。 –
是的,如果你想在沒有添加代碼的情況下工作,你應該使用RadioGroup和RadioButtons,如下所述 - http://developer.android.com/guide/topics/ui/controls/radiobutton.html –