我已经构建了一个自定义 EditField,当滑块打开时我遇到了光标问题。
我使用的 EditField 是 EditField 的子类,以使用 来添加更好的样式FieldDecor.setVisualStateBorderAndBg( this );
,但我没有更改功能。甚至画只是调用super.paint( graphics );
。我修改的唯一行为是在滑块关闭时显示和隐藏软键盘(在焦点事件期间)。
问题是当应用程序打开时滑块打开,并且正在编辑文本。光标绘制在它应该在初始焦点上的位置,但在编辑文本时,它会停留在同一个位置,如下所示:
如果滑块关闭,这不是问题,当滑块打开并使用键盘时也不是问题。
光标位置正在被适当地设置和记住,只是没有在视觉上更新。我尝试添加调用invalidate()
和覆盖update()
,但没有成功。
请注意,这只是 9800 模拟器上的问题,而不是 8530 设备上的问题。
更新: 这只发生在直接焦点事件期间。使用轨迹球时不会出现。