codenameone - 同一表单中的多个闪烁光标
问题描述
我在同一个表单中的所有文本字段中有多个闪烁的光标。无论我在哪个 TextField 中输入,它们都在闪烁。
它发生在模拟器、Android、iOS 和 Javascript 中。
我无法生成测试用例:我所有的测试用例都很好,这种错误行为仅在我的应用程序中,在更改表单和可编辑状态后。
你能给我任何提示来理解/调查/解决这个问题吗?
谢谢
解决方案
更新的答案
我的旧答案仅包含一个临时解决方法(field.setCursorBlinkTimeOff(1000 * 3600);
适用于所有TextField
s),它有几个问题会造成糟糕的使用体验。
现在我找到了一个合适的解决方案,就是不要重复使用相同TextField
的 s (从具有领导者组件的“容器 A”中删除,并将它们放入另一个没有领导者组件的“容器 B”中)。此问题与“容器 A”具有领导者组件这一事实有关。
因此,在这种情况下,我的解决方案是从“Container A”中删除 TextFields,并使用以下方法将新的 TextFields 添加到“Container”B:
private Component replaceWithNewTextField(Component cmp) {
if (cmp instanceof TextField) {
// it creates the new TextField
TextField field = new TextField();
field.setUIID(cmp.getUIID());
field.setText(((TextField) cmp).getText());
field.setName(((TextField) cmp).getName());
field.setEditable(((TextField) cmp).isEditable());
((TextArea) field).setSingleLineTextArea(((TextArea) cmp).isSingleLineTextArea());
((TextArea) field).setRows(((TextArea) cmp).getRows());
((TextArea) field).setConstraint(((TextArea) cmp).getConstraint());
etc.
推荐阅读
- automated-tests - option.timeout 忽略等待 Selector.withAttribute
- sql-server - SQL Server - 根据运行总计为字段分配值
- java - java - 如何仅在不使用JDBC,sql的Java中从csv文件中检索数据
- azure - 来自二进制 blob 数据的 Azure PolyBase 外部表?
- ionic-framework - ionic 4 添加侧边菜单
- cordova - 如何解决 Cordova 签名问题?
- python - 在 Python 中编写更快的回溯算法
- c# - 如何确定执行环境平台
- php - Laravel 5 - 从集合中获取值并传递给视图
- bash - 带有 for 循环和 ssh 的 Bash 文件