Is there a way to get ListViewItem height in code, when there is no actual items in list?
My ListViewItem layout:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight">
...
</LinearLayout>
I have tried to get it using Inflater:
View convertView = LayoutInflater.from( this )
.inflate( R.layout.mail_list_row, null );
int itemHeight = convertView.getHeight();
But it's return 0;
Thanks!
Try this, it will work for you.
private static final int UNBOUNDED = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
// To calculate the total height of all items in ListView call with items = adapter.getCount()
public static int getItemHeightofListView(ListView listView, int items) {
ListAdapter adapter = listView.getAdapter();
int grossElementHeight = 0;
for (int i = 0; i < items; i++) {
View childView = adapter.getView(i, null, listView);
childView.measure(UNBOUNDED, UNBOUNDED);
grossElementHeight += childView.getMeasuredHeight();
}
return grossElementHeight;
}