Курсор BlackBerry 9800 EditField не рисует в правильном положении - PullRequest
0 голосов
/ 20 июня 2011

Я создал собственный EditField, и у меня возникают проблемы с курсором, когда ползунок открыт.

Используемое мной EditField подклассифицировано из EditField, чтобы добавить более приятный стиль, используя FieldDecor.setVisualStateBorderAndBg( this );, ноЯ не менял функционал.Даже краска просто звонит super.paint( graphics );.Единственное поведение, которое я изменил, - это вызов, чтобы показать и скрыть мягкую (во время событий фокуса) клавиатуру, когда слайдер закрыт.

Проблема заключается в том, что приложение открывается с открытым ползунком, и текстизм.Курсор рисуется там, где он должен быть на начальном фокусе, но, поскольку текст редактируется, он остается на том же месте, например так: custom EditField with cursor drawn in wrong place

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

Положение курсора устанавливается и запоминается соответствующим образом, но визуально не обновляется.Я попытался добавить вызовы к invalidate() и переопределить update(), но безуспешно.

Обратите внимание, что это проблема только на симуляторе 9800, а не на устройстве 8530.

Обновление: Это происходит только во время событий с прямой фокусировкой.Не отображается при использовании трекбола.

...