0

我已经构建了一个自定义 EditField,当滑块打开时我遇到了光标问题。

我使用的 EditField 是 EditField 的子类,以使用 来添加更好的样式FieldDecor.setVisualStateBorderAndBg( this );,但我没有更改功能。甚至画只是调用super.paint( graphics );。我修改的唯一行为是在滑块关闭时显示和隐藏软键盘(在焦点事件期间)。

问题是当应用程序打开时滑块打开,并且正在编辑文本。光标绘制在它应该在初始焦点上的位置,但在编辑文本时,它会停留在同一个位置,如下所示: 光标绘制在错误位置的自定义 EditField

如果滑块关闭,这不是问题,当滑块打开并使用键盘时也不是问题。

光标位置正在被适当地设置和记住,只是没有在视觉上更新。我尝试添加调用invalidate()和覆盖update(),但没有成功。

请注意,这只是 9800 模拟器上的问题,而不是 8530 设备上的问题。

更新: 这只发生在直接焦点事件期间。使用轨迹球时不会出现。

4

0 回答 0