在我的代码中,我有一个可滚动的容器,我想在用户拉下容器时调用刷新功能。
venueList = new Container(BoxLayout.y());
venueList.setScrollableY(true);
venueList.addPullToRefresh(() -> {
refresh();
});
当容器中有多个项目时,这很有效,但是,当只有一个项目或更少项目时,这不起作用。
NetBeans模拟器和ios设备上都会出现此问题。
我目前的解决方法是在列表中添加一个按钮(如果它是空的(在调用Web服务之后)名为" REFRESH",并在单击它时调用refresh()函数)。
答案 0 :(得分:0)
更新我刚刚使用标签尝试此操作,结果相同:
Form hi = new Form("Hi World", new BorderLayout());
Tabs t = new Tabs();
Container mainContainer = new Container(BoxLayout.y());
mainContainer.setScrollableY(true);
mainContainer.addPullToRefresh(() -> log("Pull..."));
t.addTab("Test Tabs", mainContainer);
hi.add(CENTER, t);
hi.show();
以下原始答案:
这对我来说很好,没有元素所以我猜测有一个不同的问题,比如将容器放在嵌套的可滚动层次结构中:
Form hi = new Form("Hi World", new BorderLayout());
Container mainContainer = new Container(BoxLayout.y());
mainContainer.setScrollableY(true);
mainContainer.addPullToRefresh(() -> log("Pull..."));
hi.add(CENTER, mainContainer);
hi.show();
答案 1 :(得分:0)
@Shai,谢谢你指出我正确的方向,它确实最终成了一个嵌套问题。
当我将列表容器添加到Tab容器时,我使用以下代码:
tabContainer.addTab("Around Me",aroundTabicon,BoxLayout.encloseY(venueList));
请注意,BoxLayout.encloseY导致了问题,我删除了它并最终得到以下内容:
tabContainer.addTab("Around Me",aroundTabicon,venueList);
它似乎现在正在工作......再次感谢你。