ListViews перерабатывают представления, что означает, что сначала базовый набор записей списка раздувается из XML.При прокрутке вниз одна запись списка скрывается вверху, а новая - внизу.В этот момент getView()
вызывается с ненулевым аргументом convertView
, потому что уже завышенное представление используется повторно.
В вашем случае это означает, что вся инфляция / настройка макета пропускается (дерево if (v == null)
) .Это нормально, в основном все, что вам нужно сделать, это обновить метку времени в секунде, если раздел (o != null
) .
Он должен содержать что-то похожее на это, как вы сделали сtextviews тоже:
CustomAnalogClock customAC = (CustomAnalogClock) v.findViewById(R.id.yourclockid);
customAC.setTime(o.getOrderTime());
Это означает, что вы должны назначить идентификатор (используя setId()
) вашему представлению при добавлении его в макет, а также иметьsetTime()
метод готов.