Я использую этот кусок кода для вертикального центрирования выбранного элемента ListView;Как получить высоту элемента ListView без использования OnItemClickListener?
@Override
public void onItemClick(AdapterView<?> adapter, View v, int position, long id) {
m_listView.smoothScrollToPositionFromTop(position, (m_listView.getHeight() - v.getHeight())/2, 100);
}
Нет проблем с этим. Проблема в том, что я не могу центрировать выбранный по умолчанию элемент, потому что я не могу получить ни высоты ListView, ни высоту элемента.
Что я пытаюсь;
- Создание представления с
Inflater
(возвращает 0 в высоту) - Запуск
performClick()
метод по умолчанию выбранного элемента (не делает ничего, кидает не исключение)
Так что я могу сделать?
Примечание: Высота предмета равна.
попробовать это: View ListItem = listAdapter.getView (Номер, NULL, ListView); listItem.measure (0, 0); int list_child_item_height = listItem.getMeasuredHeight() + listView.getDividerHeight(); – zt9788
'Нет проблем с этим.' В чем проблема? – njzk2
@ zt9788 Это работает, но как получить высоту ListView? Я попробовал 'ListView.measure (0, 0);' then 'getHeight()', но все равно возвращает 0. –