首页 > 解决方案 > GluonMobile 的 AutoCompleteTextField 滚动无法按预期工作

问题描述

当我在AutoCompleteTextField中输入内容时,它会显示一个下拉列表,其中包含基于我输入的建议。如果项目太多,下拉列表右侧会出现滚动条。但滚动只能在 Windows 桌面上使用,并且只能使用鼠标滚轮。在移动触摸设备(android、iphone)上,AutoCompleteTextField总是做出反应,就好像我从下拉列表中选择了一个项目(触摸),而不是滚动(滑动):当我触摸下拉列表并开始向上或向下滑动时- 它关闭,如果我的手指指向一个项目,控件会选择它。当我尝试在桌面(Windows 和 macOS)上使用鼠标指针移动滚动条时,也会发生同样的事情。代码很简单:

@FXML
private AutoCompleteTextField<String> field;

...

field.setCompleter(s -> {
    List<String> res = new ArrayList<>();
    for (int i=0; i<items.size(); i++) {
        if (items.get(i).startsWith(s)) {
            res.add(String.valueOf(i));                                
        }
    }
    return res;
});

没有提供ResultNodeFactory,所以下拉列表默认填充了标签。提供自定义ResultNodeFactory时也会发生同样的情况。

这是一个错误还是我错过了什么?

标签: javafxmobilescrollautocompletegluon

解决方案


推荐阅读