The repetitive loading is due to the listview's getView method being called regularly multiple times and loading of wrong images is due to feature of resuing views. ListView try to reuse item views to conserve memory and increase efficiency. The solution to the first problem is to load a image only once and save it somewhere (if images are thumbnails then in memory and if images are larger then on SDCard). and solution to the second problem is to use
holder.imageView.setImageBitmap(null);
before if (holder.imageView != null && rowItem.hasLogo()) {
so that whenever a view gets rendered, it has no previous image loaded.
I hope you got my point. And also you can use Universal Image Loader library for loading of images. I have used it and it works like a charm.