需要有一个不那么重要的动态列表,每个记录由几列(文本,按钮)组成。它应该看起来像:
Text11 Text12 Button1 Button2
Text21 Text22 Button1 Button2
...
首先,明显的方法是TableLayout
。我希望在res / layout / * .xml中指定布局/样式数据,并使用java代码中的一些数据集填充它(与ListView
一样,为此可以指定项目的TextView
在* .xml中并使用ArrayAdapter
将其绑定到某个数组。但是在玩了一段时间后,我发现可能的所有内容都是以编程方式完全填充TableLayout
。尽管如此,通过TableRow
创建TableRow
并直接在java代码中设置布局属性似乎不够优雅。
所以问题是:我是在正确的道路上吗? TableLayout
真的是最好的观点来实现这一目标吗?也许扩展ListView
或其他东西以满足这些要求更合适?
答案 0 :(得分:4)
使用ListView和ArrayAdapter,您可以执行比TextView更复杂的布局。您可以为List中的每一行指定一个LinearLayout,其中包含2个TextViews和2个Buttons。
这是一个类似的问题 Android: ListView elements with multiple clickable buttons
答案 1 :(得分:1)
恕我直言,这取决于您需要呈现的数据量。
通过inflate / addView构建布局是一个非常简单的任务,但是 也比使用自定义适配器慢。使用自定义适配器即可 重用convertView参数,然后更有效地设置值