Несколько групп предметов с проверяемым состоянием снимают флажки друг с другом - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть три группы пунктов меню, которые можно проверить.
В каждой группе настроено одно проверяемое поведение, но при проверке элемента в группе A элементы в группах B и C будут сняты.

Как я могу решить это?

1 Ответ

0 голосов
/ 13 ноября 2018

Вам просто нужно добавить уникальные идентификаторы для каждого из элементов группы в XML-файле.

   <group
        android:id="@+id/menuGroup_1"           
        android:checkableBehavior="single">
        <item android:id="@+id/group_1_item_1"/>
        <item android:id="@+id/group_1_item_2"/>
    </group>

    <group
        android:id="@+id/menuGroup_2"       
        android:checkableBehavior="single">
        <item android:id="@+id/group_2_item_1"/>
        <item android:id="@+id/group_2_item_2"/>
    </group>

Тогда реализуйте свою логику здесь:

 public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.group_1_item_1:
            item.setChecked(true);
            return true;
        case R.id.group_1_item_2:
            item.setChecked(true);
            return true;
        case R.id.group_2_item_1:
            item.setChecked(true);
            return true;
        case R.id.group_2_item_2:
            item.setChecked(true);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...