That's because the convertView
is being reused and you do not update the selected state for both cases (selected / not selected). You need to call setSelected(false)
when it is not the item you want selected and reset the background color. Also, the call to setPressed
is not needed.
You also should checkout the ColorStateList
which will allow you to define the colors for various states. Then you could just use the built in support for single item selection.