如何为ListView中的每一行设置不同的高度?

发布于 2024-12-05 15:45:30 字数 247 浏览 0 评论 0原文

我在设置 ListView 中单行的高度时遇到问题。我已经阅读了数百个论坛和博客文章,但似乎没有什么对我有用。

我有一个带有 ArrayAdapter 的 ListView。根据 Order 对象的属性,使用不同的布局,每行具有不同的高度。然而,最终所有行都具有相同的高度。我想它是赋予 ArrayAdapter 构造函数的布局高度。有谁知道如何单独控制每一行的高度?

感谢您的回答, 菲利普

I have problem setting the height of a single row in a ListView. I have already read hundreds of forums and blog posts, but nothing seems to work for me.

I have a ListView with an ArrayAdapter<Order>. Depending on an attributes of the Order object, different Layouts are used, with different heights for each row. However, in the end, all rows have the same height. I suppose it is the height of the layout given to the constructor of the ArrayAdapter. Does anybody know how to control the height of each row separately?

Thanks for your answers,
Filip

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

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

发布评论

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

评论(2

悸初 2024-12-12 15:45:30

诀窍在于布局项中的视图,您需要将 layout_height 设置为 wrap_content 就这样了。

我用不同高度的项目制作了 listView 的屏幕截图。

如果您是初学者,这将为您提供一个起点:

public static final String[] bzz = new String[] { "1", "2", "3", "4", "5" };
ArrayAdapter<String> addap = new ArrayAdapter<String>(this,
                R.layout.list_item, R.id.text_view, bzz);
lv.setAdapter(addap);

在此处输入图像描述

The trick is in the view in your layout item, you need to set the layout_height to wrap_content and that's it.

I made the screen shot of my listView with items with differents heights.

in case you are beginner, this will give you a starting point :

public static final String[] bzz = new String[] { "1", "2", "3", "4", "5" };
ArrayAdapter<String> addap = new ArrayAdapter<String>(this,
                R.layout.list_item, R.id.text_view, bzz);
lv.setAdapter(addap);

enter image description here

吻安 2024-12-12 15:45:30

我通过更改代码来解决此问题,如下所示

  1. 将 list_item 布局更改为 LinearLayout,
  2. list_item 布局属性中添加 android:layout_height="wrap_content"
  3. 添加 android:inputType= list_item 文本视图中的“textMultiLine”

希望它也适合您。

I solve this problem by changing my code as follow

  1. Change the list_item layout to LinearLayout
  2. adding android:layout_height="wrap_content" in list_item layout properties
  3. adding android:inputType="textMultiLine" in text view in list_item

hope it works for you too.

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