Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codenameone 工具栏中的SearchCommand不再正确显示_Codenameone - Fatal编程技术网

Codenameone 工具栏中的SearchCommand不再正确显示

Codenameone 工具栏中的SearchCommand不再正确显示,codenameone,Codenameone,我注意到,在不久前更新了CN1之后,搜索不再正确地显示在工具栏中 单击搜索图标时,工具栏将更改,图标将显示,但用于输入搜索文本的文本字段(通常显示提示)不会显示,即使您开始键入。仅当您刷新屏幕时,例如在搜索字段或表单上单击时,才会显示该图标 Form hi18 = new Form("FormTitle"); hi18.setLayout(BoxLayout.y()); Container cont18 = hi18.getContentPane(); hi18.getToolbar().add

我注意到,在不久前更新了CN1之后,搜索不再正确地显示在工具栏中

单击搜索图标时,工具栏将更改,图标将显示,但用于输入搜索文本的文本字段(通常显示提示)不会显示,即使您开始键入。仅当您刷新屏幕时,例如在搜索字段或表单上单击时,才会显示该图标

Form hi18 = new Form("FormTitle");
hi18.setLayout(BoxLayout.y());
Container cont18 = hi18.getContentPane();
hi18.getToolbar().addSearchCommand((e) -> {
    String text = (String) e.getSource();
    for (Component c : hi18.getContentPane()) {
        c.setHidden(c instanceof Label && ((Label) c).getText().indexOf(text) < 0);
    }
    hi18.getComponentForm().animateLayout(150);
});
for (int i = 0; i < 20; i++) {
    Label l = new Label("Label " + i);
    cont18.add(l);
}
hi18.show(); 
表格hi18=新表格(“表格标题”);
hi18.setLayout(BoxLayout.y());
Container cont18=hi18.getContentPane();
hi18.getToolbar().addSearchCommand((e)->{
字符串text=(字符串)e.getSource();
对于(组件c:hi18.getContentPane()){
c、 setHidden(标签的实例c&((标签)c).getText().indexOf(文本)<0);
}
hi18.getComponentForm().animateLayout(150);
});
对于(int i=0;i<20;i++){
标签l=新标签(“标签”+i);
续18.加入(l);
}
hi18.show();

考虑到您为测试用例创建了一个没有文本的标题,我觉得这很好,所以它可能会在您身上缩小。我建议在标题中添加文字,并确保您的样式不会对此产生太大影响。我还建议在讨论一些看起来不对劲的事情时添加屏幕截图,这样我们就在同一页上了

这些是使用当前中继上的代码生成的:


考虑到您为测试用例创建了一个没有文本的标题,我觉得这很好,所以它可能会在您身上缩小。我建议在标题中添加文字,并确保您的样式不会对此产生太大影响。我还建议在讨论一些看起来不对劲的事情时添加屏幕截图,这样我们就在同一页上了

这些是使用当前中继上的代码生成的:


谢谢,我会记得包括屏幕截图。但是,您似乎发现了与我提到的相同的问题:在按下搜索按钮后,您不会立即看到搜索提示(“搜索”),您应该在其中键入搜索文本。我还猜测,如果您在第一次按下搜索图标(在模拟器上)后立即开始键入文本,则在单击某个位置(在表单中或搜索文本区域应该在的位置)之前,您不会看到键入的文本?默认情况下,提示在本机编辑模式下消失。在使用本机编辑时,也可以使用主题常量使其显示:注释是关于模拟器的,在我看来,与早期(正确的)行为相比,它显然是一种回归。您是否与CN1的早期版本进行了比较?(注意,在示例代码中,添加表单标题不会改变任何内容)。我在表单的其他位置单击,当我不编辑时,它会显示提示。我用这个替换了iOS版本的屏幕截图。与此相关的工具栏/搜索栏没有变化(我查看了git源代码)。我猜测文本字段修复了立即开始编辑行为,因此提示最初不可见,但这是一个模糊的猜测。我更新了代码示例,以更直接地显示发生了什么。我所看到的:单击搜索图标:提示文本没有显示(但应该显示,而且以前也显示过),然后立即开始键入,键入的文本不会显示(但列表会按预期进行过滤)。单击某个地方(在表单或搜索文本字段上),此时会突然显示键入的搜索文本。你很可能是对的,这个问题与TextField中的更改有关,但我没有尝试调试,因为这似乎是CN1中的回归。谢谢,我会记得包括屏幕截图。但是,您似乎发现了与我提到的相同的问题:在按下搜索按钮后,您不会立即看到搜索提示(“搜索”),您应该在其中键入搜索文本。我还猜测,如果您在第一次按下搜索图标(在模拟器上)后立即开始键入文本,则在单击某个位置(在表单中或搜索文本区域应该在的位置)之前,您不会看到键入的文本?默认情况下,提示在本机编辑模式下消失。在使用本机编辑时,也可以使用主题常量使其显示:注释是关于模拟器的,在我看来,与早期(正确的)行为相比,它显然是一种回归。您是否与CN1的早期版本进行了比较?(注意,在示例代码中,添加表单标题不会改变任何内容)。我在表单的其他位置单击,当我不编辑时,它会显示提示。我用这个替换了iOS版本的屏幕截图。与此相关的工具栏/搜索栏没有变化(我查看了git源代码)。我猜测文本字段修复了立即开始编辑行为,因此提示最初不可见,但这是一个模糊的猜测。我更新了代码示例,以更直接地显示发生了什么。我所看到的:单击搜索图标:提示文本没有显示(但应该显示,而且以前也显示过),然后立即开始键入,键入的文本不会显示(但列表会按预期进行过滤)。单击某个地方(在表单或搜索文本字段上),此时会突然显示键入的搜索文本。您很可能是对的,这个问题与TextField中的更改有关,但我没有尝试调试,因为这似乎是CN1中的回归。