Android - Получить высоту объекта ListView?

Существует ли способ получить высоту ListViewItem в коде, когда нет никаких фактических объектов в списке?

Мое расположение ListViewItem:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight">
...
</LinearLayout>  

Я попытался получить его с помощью Инфлятора:

View convertView = LayoutInflater.from( this )
    .inflate( R.layout.mail_list_row, null );
int itemHeight = convertView.getHeight();

Но это - возврат 0;

Спасибо!

18
задан Maksym Gontar 29 July 2010 в 10:17
поделиться

1 ответ

В android представлению присваивается ширина и высота только после завершения рендеринга. Поэтому пока ваш список не будет отрисован хотя бы один раз, вы не получите ListItemHeight. Решением вашей проблемы может быть установка минимальной высоты элемента списка, чтобы вам было с чем работать вместо жесткого кодирования высоты и ширины.

5
ответ дан 30 November 2019 в 06:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: