2011-07-14 25 views
5

我的XML代碼:在Android的菜單:兩個單可檢查在同一個菜單組

<group android:checkableBehavior="single"> 
    <item android:id="@+id/group_1_box_1"/> 
    <item android:id="@+id/group_1_box_2"/> 
</group> 

<group android:checkableBehavior="single"> 
    <item android:id="@+id/group_2_box_1"/> 
    <item android:id="@+id/group_2_box_2"/> 
</group> 

我遇到的問題是,當我改變group_1_box_1到真正的狀態,它不僅集group_1_box_2到假,它也會將group_2框設置爲false。

編輯:這是我的代碼

public boolean onOptionsItemSelected(MenuItem item) { 
switch (item.getItemId()) { 
    case R.id.group_1_box_1: 
     item.setChecked(true); 
     return true; 
    case R.id.group_1_box_2: 
     item.setChecked(true); 
     return true; 
    case R.id.group_2_box_1: 
     item.setChecked(true); 
     return true; 
    case R.id.group_2_box_2: 
     item.setChecked(true); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
} 
+0

一定要添加你的代碼。沒有它,真的沒有辦法提供幫助。例如,當我將狀態更改爲真時,你的意思是什麼? – Phil

+0

你有沒有找到解決方案? –

回答

3

你只需要唯一ID添加到每個在XML文件中的group項目。

<group 
    android:id="@+id/menuGroup_1"   <!-- Here --> 
    android:checkableBehavior="single"> 
    <item android:id="@+id/group_1_box_1"/> 
    <item android:id="@+id/group_1_box_2"/> 
</group> 

<group 
    android:id="@+id/menuGroup_2"   <!-- And here --> 
    android:checkableBehavior="single"> 
    <item android:id="@+id/group_2_box_1"/> 
    <item android:id="@+id/group_2_box_2"/> 
</group> 
+0

沒有工作,行爲一樣。作爲分隔線,但就是這樣。 –

0

用途:

compile 'com.android.support:appcompat-v7:23.1.0' 
compile 'com.android.support:design:23.1.0'