メニューグループ内のデフォルトアイテムをチェックしようとしています。私はコードを使ってメニュー内の何も変更していません。次のようにメニューグループ内のデフォルトアイテムを確認する
メニューです:メニューが最初に表示されている場合
<?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>
、最初の項目(通常は)それがチェックされて示すために強調されています。これは私が起こりたいものです。次に、各項目が押されるたびに、強調表示がグループ内を移動するようにします。
問題がある:
私は、ハイブリッドを押すと、私は衛星を押すと、ノーマルと衛星BOTHが
をハイライト表示され、通常の遺骨がを強調し、ハイブリッドが 強調表示され、衛星がに戻りますそのチェックされていない状態。
実際にノーマルを押した後でのみ、チェック状態は正常に動作します。
私はアンドロイド:checked = "true"を削除し、コードでperformIdentifierActionを使用してみましたが、これはチェックされた状態を変更しませんでした。
別のオプションを押すたびに[標準]オプションをチェック(偽)するだけで動作するように表示されますが、実際にはコードを追加する必要はありません。私はそれがラジオボタンのグループであるかのように動作しなければならないと思います。この場合、ボタンは常に選択されます。 –
はい、コードを追加せずに動作させるには、ここで説明しているようにRadioGroupとRadioButtonを使用する必要があります。http://developer.android.com/guide/topics/ui/controls/radiobutton.html –