替换codenameone中的列表

时间:2018-11-28 16:09:43

标签: java listview user-interface codenameone

根据this page,应避免使用com.codename1.ui.List。因此,我根据建议使用Container作为替代,它可以很好地与包含数十或数百个项目的测试数据配合使用。但是,元素数量没有上限,我敢肯定,我需要一些优化。我认为,分页对于用户来说没有意义,因此我需要能够显示(成千上万)项。

所有项目均显示为容器,每个由大约十二个标签组成。每个容器的高度都相同,因此我正在考虑最初使用一个空容器,并仅在滚动到该容器时才填充它。为此,我需要知道

  • 如何将空容器强制到与装满的容器相同的高度?
  • 如何查找,需要显示哪些项目?我可以使用ScrollListener,但是可能有更简单的方法吗?
  • (主观)这是一个愚蠢的主意吗?

1 个答案:

答案 0 :(得分:0)

我认为这是一个错误。列出支持的数百万个条目。不幸的是,试图用手指滑动来滚动浏览它们是不现实的。在具有滚动条的桌面中,这很容易,但是在基于触摸的用户界面中却是不可能的。

想象一下,在滚动10k条目时接听电话或不小心按下主屏幕按钮。还是在reddit应用中发生了很多非常烦人的事情:当您误按了他们的徽标时(如果我按得太紧,可能会发生这种情况),它会跳到顶部。然后尝试重新开始滚动...

如果是真实情况,并且每个项目的高度都相同,则可以在极端情况下使用List。这正是列表渲染器体系结构背后的原因。请注意,当您达到10k或更高的条目时,它的性能优势就会开始发挥作用。但是我认为UX在设备上并不现实。