Codenameone 从轻型选择器中移除上下箭头
我在轻量级的Codenameone 从轻型选择器中移除上下箭头,codenameone,Codenameone,我在轻量级的选择器中发现了两个箭头,它们似乎用于从一个字段转到另一个字段 在我的编辑器中,这种行为确实存在缺陷,导致一些客户出现编码错误。有没有办法隐藏/删除它们?如果可能,在整个应用程序中 我试图覆盖选择器,并将isEditable的返回设置为false,因为它似乎可以控制这些箭头的添加,但没有起到任何作用 提前谢谢 编辑:在这种情况下,我将使用轻型选择器和类型选择器(类型)字符串,但我希望在所有轻型选择器上控制此行为 使用static createStrings方法从PickerCompon
选择器中发现了两个箭头,它们似乎用于从一个字段转到另一个字段
在我的编辑器中,这种行为确实存在缺陷,导致一些客户出现编码错误。有没有办法隐藏/删除它们?如果可能,在整个应用程序中
我试图覆盖选择器
,并将isEditable
的返回设置为false
,因为它似乎可以控制这些箭头的添加,但没有起到任何作用
提前谢谢
编辑:在这种情况下,我将使用轻型选择器
和类型选择器(类型)字符串
,但我希望在所有轻型选择器
上控制此行为
使用static createStrings
方法从PickerComponent
实例化选择器
这是这个特定选择器的屏幕截图,我想去掉的按钮位于红色矩形内:
编辑2:经过一些代码分析后,我发现如果所包含的表单的选项卡迭代器
返回此选择器的上一个和下一个组件,则会显示这些箭头。我真的不明白我怎么会梦见isEditable控制了这一切
可以重写表单的getTabIterator
,但是TabIterator
(表单的嵌套类)的构造函数是private
,在我们的类中无法访问,我们需要它,因为调用TabIterator
实例时没有null
检查,所以我们不能返回null
我已经尝试将getTabIterator
的参数强制为null
,但是getNext
和getPrevious
方法的TabIterator
仅在组件为null
且组件列表
时返回null
(作为TabIterator
构造函数的第二个参数传递)为空。但由于构造函数是private
,列表从来都不是空的,因为它是由getTabIterator
填充的
死胡同?这主要是为在多个输入字段之间无缝分页而设计的。这似乎不是应该的可插拔方式。您可能应该提交RFE,以便我们可以提供一种自定义方法
您可以在以下问题跟踪程序中提交RFE:
可能的解决方法是调用remove()
在选项卡迭代器上,直到其为空。屏幕截图将有助于…以及您在哪个操作系统/设备上使用的选择器类型。您使用的代码等。我添加了一些详细信息和屏幕截图,我在iOS、Android和模拟器上使用这些选择器。在选项卡迭代器上使用删除,直到其为空是很难的,但会起作用,这是最好的解决方法(根据Steve的说法,禁用箭头的正确方法是使用组件选择器并将所有首选选项卡索引设置为-1。快速执行此操作的代码是:ComponentSelector.select(“*”,form)。每个(c->c.setPreferredTabIndex(-1));
。当所有选项卡索引设置为-1时,TabIterator
为空,箭头消失。