В двух случаях можно вызвать метод getView. Если converView имеет значение null, вы должны создать новый вид. Если это не ноль, элемент, покинувший экран из-за пользовательской прокрутки, перерабатывается и возвращается в ваш метод для повторного использования.
Этот объект является объектом, который был показан в списке ранее. Вы должны проверить его состояние и установить для каждого его свойства значение, которое вы хотите, чтобы оно имело. Вы не можете действовать, как будто объект новый, вы помечены, а объекты не помечены обратно. Сделайте что-нибудь подобное в вашем методе getview.
if(item is selected) {
convertView.setBackgroundColor(selected color);
} else {
convertView.setBackgroundColor(not selected color);
}
В вашем коде отсутствует регистр if.