Я не уверен, где у вас есть исключение ClassCast, это на convertView.setLayoutParams(lp);
? Если да, то, пожалуйста, укажите list_item
xml файл. Поскольку ваш макет RelativeLayout
, вы должны предоставить RelativeLayout.LayoutParams
, как вы это сделали.
РЕДАКТИРОВАТЬ : Из-за ListView
должен быть указан тот же LayoutParams
, что и у родителя, AbsListView.LayoutParams
. Тем не менее, этот тип макета не предоставляет установщика margin
. В другом потоке stackoverflow я видел, что вы должны надуть макет следующим образом: inflate(xml_id, listView, false);
, чтобы явно указать, что нет связи с ListView
и содержимым. Однако я тоже не смог заставить его работать.
Плюс, я вижу, вы устанавливаете поле в convertView
создании. Если вам это нравится, то только элементы, которые были созданы первыми, будут иметь свои собственные поля. Другие будут иметь переработанное поле зрения. Я не думаю, что это то, что вы хотите.