如何通过编程点击InfiniteContainer中包含的按钮?

问题描述 投票:0回答:1

我有一个带有 InfiniteContainer(bodyCnt) 的表单,其中包含 3 个容器。

所有 3 个容器都有其客户端属性。

我通过编程在 bodyCnt 中搜索 client property = 'search_tag' 的容器。

            while (n<20){
            ((InfiniteContainer)cnt).continueFetching();
            for (int i=0; i<cnt.getComponentCount();i++){
                if (cnt.getComponentAt(i).getClientProperty(tag)!=null){
                    if (cnt.getComponentAt(i).getClientProperty(tag).equals(search_tag)){
                        cmp = cnt.getComponentAt(i);
                    }
                }
            }
            n++;
        }

最后一个容器在

InfiniteContainer
中显示两次。请参阅下面的屏幕截图,了解标有红色方块的重复容器。

codenameone
1个回答
0
投票
此时

InfiniteContainer
是异步且空白的。请注意,您在其中看到的一个组件是一种特殊情况标记组件,当您到达边缘时,我们用它来填充容器。

由于您从未见过

InfiniteContainer
,因此标记组件将不会获取组件,并且容器实际上将保持为空。

您可以通过调用

continueFetching()
上的
InfiniteContainer
来触发获取,但您不会有标准事件来指示初始组件集已到达,因为它在后台运行。

但是,由于您实现了获取回调,因此您可以在第一次获取完成时提供自己的异步事件,并将其用作逻辑的挂钩。

© www.soinside.com 2019 - 2024. All rights reserved.