Android 中花哨的动态列表:TableLayout 与 ListView

发布于 2024-09-05 20:44:01 字数 592 浏览 10 评论 0原文

需要有一个不那么简单的动态列表,其中每个记录由几列(文本、按钮)组成。它应该看起来像这样:

Text11 Text12 Button1 Button2
Text21 Text22 Button1 Button2
...

首先,实现这一点的明显方法似乎是 TableLayout。我期望在 res/layout/*.xml 中指定布局/样式数据,并用 java 代码中的一些数据集填充它(与 ListView 一样,可以指定 TextView *.xml 中的项目并使用 ArrayAdapter 将其绑定到某个数组)。但玩了一段时间后,我发现可以通过编程方式完全填充 TableLayout 。尽管如此,通过TableRow创建TableRow并直接在java代码中设置布局属性似乎还不够优雅。

所以问题是:我走的路正确吗? TableLayout 真的是实现这一目标的最佳视图吗?也许扩展ListView或其他东西来满足这样的要求更合适?

There is a requirement to have not-so-trivial dynamic list, each record of which consists of several columns (texts, buttons). It should look something like:

Text11 Text12 Button1 Button2
Text21 Text22 Button1 Button2
...

At first obvious way to accomplish that seemed to be TableLayout. I was expecting to have layout/styling data specified in res/layout/*.xml and to populate it with some dataset from java code (as with ListView, for which its possible to specify TextView of item in *.xml and bind it to some array using ArrayAdapter). But after playing for a while, all I found to be possible is fully populating TableLayout programatically. Still, creating TableRow by TableRow and setting layout attributes directly in java code doesn't seem elegant enough.

So the question is: am I at the right path? Is TableLayout really best View to accomplish that? Maybe it's more appropriate to extend ListView or something else to meet such requirements?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凶凌 2024-09-12 20:44:01

使用 ListView 和 ArrayAdapter 您可以进行比 TextView 更复杂的布局。您可以为列表中的每一行指定一个带有 2 个 TextView 和 2 个按钮的 LinearLayout。

这是一个类似的问题
Android:具有多个可点击按钮的 ListView 元素

Using ListView and ArrayAdapter you can do more complicated layouts than just a TextView. You could specify a LinearLayout with 2 TextViews and 2 Buttons for each row in the List.

here's a similar question
Android: ListView elements with multiple clickable buttons

梦晓ヶ微光ヅ倾城 2024-09-12 20:44:01

恕我直言,这取决于您需要渲染的数据量。

通过 inflate/addView 动态构建布局是一项非常简单的任务,但
也比使用自定义适配器慢。使用自定义适配器,您可以
重用convertView参数,然后更有效地设置值

IMHO it depends on the amount of your data you need to render.

Build layout dinamically via inflate/addView is a quite simple task but is
also more slow than using a custom adapter. with a custom adapter you can
reuse the convertView parameter and then set the values more efficiently

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文