Вам необходимо настроить метод getView()
адаптера списка и поместить в него чек, чтобы проверить, совпадает ли текущий идентификатор элемента:
Product product = items.get(position);
if(product.id == someProductId) {
//make visual changes
} else {
//reset visual changes to default to account for recycled views
}
Поскольку обычно только видимые элементы существуют только в определенном месте.время getView вызывается всякий раз, когда нужно увидеть больше.Они создаются в то время, как правило, рециркулируя представления из теперь невидимых элементов в списке (следовательно, почему вы хотите сбросить изменения, если критерии НЕ соответствуют).