Menú Android: dos grupos de una sola comprobación en el mismo menú
Mi código xml es:
<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>
El problema que tengo es que cuando cambie el estado de group_1_box_1 a true, no sólo establece group_1_box_2 en false, sino que también establece las cajas group_2 en false.
Editar: Aquí está mi código
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); }
Sólo tiene que agregar identificadores únicos a cada uno de los elementos de group
en el archivo xml.
<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>
Utilizar:
compile 'com.android.support:appcompat-v7:23.1.0' compile 'com.android.support:design:23.1.0'