J2me Blackberry Цифровой ввод - PullRequest
       5

J2me Blackberry Цифровой ввод

1 голос
/ 26 марта 2010

Я занимаюсь разработкой приложения для Blackberry с использованием j2me и LWUIT (порт Blackberry). Все отлично работает, кроме TextField в числовом режиме. В основном, когда вы сосредоточены на TextField, вы должны сначала перейти в режим «NUMERIC» (нажав alt + aA) для ввода, что неудобно для пользователя и является проблемой.

Предлагаемое решение состоит в том, чтобы вместо этого использовать TextArea, которое позволяет открывать поле ввода типа NATIVE. Проблема в том, что пользователь должен сфокусировать поле, а затем нажать кнопку огня, что опять-таки недружественно.

Кто-нибудь знает какие-нибудь простые решения?

Несколько решений, которые я имею в виду (но не знаю, как их сделать): 1) Захватите любое нажатие клавиши на TextArea и перейдите в режим NATIVE, а не просто клавишу включения. 2) Переведите режим ввода ежевики в числовой код, используя код для всей формы.

Любой совет будет оценен.

Большое спасибо,

Пол

Ответы [ 2 ]

1 голос
/ 27 марта 2010

Хорошо, хорошо, чтобы ответить на мой собственный вопрос.

Я переопределил метод keyRelease для TextArea. И в этом методе, если нажатие клавиши не является клавишей со стрелкой в ​​вызове метода editString (это вызывает открытие собственного текстового поля) Единственным недостатком этого является то, что он всегда пропустит первое нажатие клавиши в текстовом поле.

1 голос
/ 26 марта 2010

Я не уверен, будет ли это решение подходить для ваших нужд или нет, но вы можете добавить обработку j2me onKeyPress, которая "переводит" буквенные нажатия клавиш в числа, соответствующие одному и тому же ключу, и добавляет "правильный" msgstr "номер текстового поля вместо того, что пользователь фактически нажал. Имейте в виду, что такое решение потребует от вас беспокоиться о проблемах переносимости, поскольку не все модели BlackBerry, использующие одну и ту же раскладку клавиатуры (например, qwerty или уменьшенную qwerty), и достаточно обрабатывают вариации раскладок.

...