Какой тип поля является полем Set Timer на Blackberry? - PullRequest
0 голосов
/ 29 мая 2009

Я пишу приложение, в котором в качестве параметра задан интервал времени, и ему нужно поле, подобное тому, которое таймер должен установить для своего времени. Значения от нескольких секунд до нескольких часов имеют смысл для приложения.

Какой тип поля мне следует использовать?

1 Ответ

1 голос
/ 29 мая 2009

Похоже на настраиваемое поле.

Ваш выбор со встроенными полями: net.rim.device.api.ui.component.NumericChoiceField, который в основном действует как выпадающий список с числами в нем (не очень хорошо, когда вы говорите о 60 минутах / секундах, но если вы хотите ограничиться, скажем, 5-минутные интервалы или что-то в этом роде).

net.rim.device.api.ui.component.EditField с пользовательским net.rim.device.api.ui.text.TextFilter (вы могли бы использовать NumericTextFilter, но это не ограничило бы вас 0-60, это позволило бы любые числа).

Или вы можете кататься самостоятельно. См. эту статью , чтобы начать создание пользовательских полей. Вы, вероятно, захотите переопределить navigationMovement, чтобы увеличить / уменьшить числа при помощи трекбола вверх и вниз, а также переместить фокус в поле, двигаясь влево и вправо - установив внутреннюю переменную состояния, указывающую, где находится фокус, и переопределение getFocusRect чтобы вернуть соответствующий прямоугольник фокуса (обязательно вызовите focusRemove и focusAdd из navigationMovement, чтобы инфраструктура знала, что вы обновили фокус).

...