How to set different heights for each row in a ListView?

牧云@^-^@ 提交于 2019-12-12 07:26:29

问题


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


回答1:


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);




回答2:


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.



来源:https://stackoverflow.com/questions/7512592/how-to-set-different-heights-for-each-row-in-a-listview

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!