ListRenderer

时间:2015-09-25 10:13:10

标签: list codenameone renderer

我有一个列表,应该显示7个项目,每个项目看起来像这样:

Date      Weekday     Distance      Time

Long text that may span many lines

two column text       Distance      Time

two column text       Distance      Time

two column text       Distance      Time

最后一行以数字重复,具体取决于数据,即每个列表项可能有不同数量的此类行。

我尝试使用ListCellRenderer来实现它,根据上面的要求创建一个表,但我遇到了一些问题:

  • 可能跨越多行的长文本在SpanLabel中实现。但是这个文本无论如何都不会显示多行
  • 列表中的每个项目都会为前两个下面的相同行数提供空间..

因此,列表中的项目似乎必须具有相同的大小。

稍后我还希望能够检测整个列表项的选择,而不仅仅是单个字段。

有更好的方法吗?

如何确保SpanLabel实际获得所需的空间?

如何确保未知行数获得所需空间,具体取决于它们的数量?

1 个答案:

答案 0 :(得分:0)

请勿使用列表:https://www.codenameone.com/blog/deeper-in-the-renderer.html

Codename One中的列表假设每个条目的高度完全相同,并且在这里没有灵活性。

我建议做类似属性交叉演示的事情:https://www.udemy.com/learn-mobile-programming-by-example-with-codename-one/

我们使用带有组件的Container来提供类似行为的列表,并具有任意组件允许的完全灵活性。