Почему я не могу получить доступ к детям группы радио - PullRequest
0 голосов
/ 07 октября 2011

Я пытаюсь использовать это Android: Как получить радиогруппу с кнопками-переключателями? код данного ответа

, но

static final RadioGroup.OnCheckedChangeListener ToggleListener = new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(final RadioGroup radioGroup, final int i) {
            for (int j = 0; j < radioGroup.getChildCount(); j++) {
                final ToggleButton view = (ToggleButton) radioGroup.getChildAt(j);
                view.setChecked(view.getId() == i);
            }
        }
    };

в строке

final ToggleButton view = (ToggleButton) radioGroup.getChildAt (j);

всегда вылетает.В Logcat я не вижу никаких сообщений.

Я перепробовал все, что мог придумать, но не могу найти проблему - большое спасибо!

ps, это мой xml для радиогруппы:

   <RadioGroup android:id="@+id/radioGroup2" android:layout_width="150sp" android:layout_height="wrap_content" 
            android:paddingLeft = "10sp" android:layout_alignBottom="@+id/a2"  >
        <RadioButton android:layout_width="wrap_content" android:id="@+id/Settings_otherSettingsT2Yes" android:layout_height="wrap_content" 
            android:textColor="#000000" android:textSize="18sp"
        android:text="@string/Settings_otherSettingsT2Yes" android:checked="false"></RadioButton>
        <RadioButton android:layout_width="wrap_content" android:id="@+id/Settings_otherSettingsT2No" android:layout_height="wrap_content" 
            android:textColor="#000000" android:textSize="18sp"
        android:text="@string/Settings_otherSettingsT2No"></RadioButton>
    </RadioGroup>

... здесь ничего особенного

Я проверил количество детей, записав в лог radioGroup.getChildCount(), и получилось 2, как и ожидалось

1 Ответ

0 голосов
/ 07 октября 2011

В своем коде вы переводите RadioButtons в ToggleButton.Это может быть причиной ваших сбоев.Я не понимаю, почему вы не можете найти исключение в logcat.

Однако вы говорите, что хотите использовать код, как в ссылке, но ваш XML не близок к ссылке.Вы используете RadioButtons, где ссылка использует ToggleButtons.

Если вы просто хотите RadioButton, то полностью игнорируйте эту ссылку.Если вы хотите использовать ToggleButtons, то эта ссылка в любом случае не самая лучшая.Добавление ToggleButtons в RadioGroup просто сбивает с толку смысл кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...