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
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);
I solve this problem by changing my code as follow
android:layout_height="wrap_content"
in list_item
layout propertiesandroid:inputType="textMultiLine"
in text view in list_item
hope it works for you too.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With