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

时间:2011-09-22 09:33:08

标签: android listview android-arrayadapter

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

我有一个带有ArrayAdapter<Order>的ListView。根据Order对象的属性,使用不同的布局,每行具有不同的高度。但是,最后,所有行都具有相同的高度。我想这是给ArrayAdapter的构造函数的布局的高度。有人知道如何分别控制每行的高度吗?

感谢您的回答, 菲利普

2 个答案:

答案 0 :(得分:20)

诀窍在布局项目的视图中,您需要将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);

enter image description here

答案 1 :(得分:0)

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

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

希望它也对您有用。