Не выбран переключатель по умолчанию (J2ME, Java)

В настоящее время работаю над мобильным приложением в J2ME, и у меня есть вопросы с вариантами ответа переключателя ChoiceGroup. Любое предложение о том, как сделать так, чтобы ответ по умолчанию не выбирался? Мы пробовали:

cg8.setSelectedIndex( -1, true ); Но получаю ошибку исключения за пределами границ

и

cg8.setSelectedFlags( boolean[] ) со всеми ложью, но также получить еще одну ошибку.

Чтобы обойти это, мы также попытались создать невидимый переключатель и установить его как выбранный, но также не смогли найти способ сделать невидимый переключатель.

Любые мысли или предложения будут очень признательны!


person Community    schedule 03.05.2009    source источник


Ответы (2)


Мне кажется, что платформа навязывает соответствующее соглашение, хотя я должен извиниться за то, что придерживаюсь здесь пуристской точки зрения; это на самом деле не ответит на ваш вопрос.

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

person Community    schedule 03.05.2009
comment
Это имеет полный смысл, спасибо. Бизнес-правила для этого конкретного приложения заключаются в том, что ни один из ответов не выбирается заранее, чтобы не побудить пользователя выбрать один ответ вместо другого. Есть мысли, как обойти эту проблему? - person ; 04.05.2009
comment
Возможно, есть первый вариант, как что-то вроде пожалуйста, выберите один из вариантов ниже? Это также плохо с пуристской точки зрения, но ваши бизнес-требования отклоняются от лучших техник. (И, конечно же, иметь проверку как на стороне клиента, так и на стороне сервера, чтобы убедиться, что они выбрали реальный вариант). - person Andrzej Doyle; 09.02.2010

Насколько я знаю, единственный способ не иметь предварительно выбранных переключателей - это нарисовать элемент управления самостоятельно. Повторно реализуйте список переключателей, используя Canvas или CustomItem.

К сожалению, много работы.

Вы должны изучить LWUIT, так как у него может быть промежуточное решение.

person michael aubert    schedule 05.05.2009
comment
Я не согласен - разрешить один выбор максимум - это работа ввода Select. Соглашение, введенное браузерами, изменило интерпретацию радиоввода на такую, которая может принимать отсутствие ответа. RFC1866 гласит: всегда проверяется только один из переключателей в наборе. Если ни один из элементов ‹INPUT› набора переключателей не указывает `CHECKED', тогда пользовательский агент должен сначала проверить первый переключатель набора. Вся природа оригинальной радиокнопки в реальной жизни заключается в том, что одна кнопка всегда должна быть нажата. Вы не можете слушать нулевую радиостанцию, - person ; 09.02.2010