我有一个动态创建的项目列表,它应该以两列或一列显示,具体取决于包含文本所需的空间,例如,如果文字很长,则每行只有一个项目,否则为两个。显然他们应该都是相同的尺寸(屏幕尺寸的一半)。Android动态计算列数
据我所知没有标准的Android视图与适配器,这样做。有了GridView,你可以有多列,但不是一列一列,有的两列。 TableLayout可以扩展视图,但在这里你必须知道每行需要多少列。另外它没有适配器。
所以我想知道a)是否有任何控制,我失踪,支持这样的事情或b)什么是这个问题的最简单的解决方案?
编辑:项目还包含一个复选框,我需要保持选中状态的跟踪,所以我不能只是把两个项目在一个视图中使用的适配器。
您的意思是每个项目应该由适配器生成,如果一个项目足够窄,下一个项目将在同一行上?如果是这样,如果项目0很窄,项目1是宽的,项目2是窄的,所有项目应该在不同的行上?或者你的意思是每个项目都有两位数据,如果其中的一个位太宽,只有一位可见? –
是的,这是第一个选项。而要求是,如果项目1宽,它应该在下一行,或者如果项目0是宽项目1应该在下一行。 –