2011-07-14 15 views
5

मेरे एक्सएमएल कोड है:एंड्रॉयड मेनू: दो एकल चेक करने योग्य एक ही मेनू में समूहों

<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 करने के लिए सेट है झूठा, यह समूह_2 बॉक्स को झूठी पर भी सेट करता है।

संपादित करें: यहाँ मेरी कोड

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

तुम बस 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' 
संबंधित मुद्दे