@Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = LayoutInflater.from(this.context); row = inflater.inflate(R.layout.search_result_row, parent, false); SearchResults searchResults = data.get(position); ImageView image = (ImageView) row.findViewById(R.id.friend_user_image); DownloadImageTask downloadImageTask = new DownloadImageTask(image) { @Override protected void onPostExecute(final Bitmap result) { row.post( new Runnable() { @Override public void run() { getBmImage().setImageBitmap(result); } }); } }; downloadImageTask.execute(searchResults.getUserImageURL()); TextView name = (TextView) row.findViewById(R.id.user_name); name.setText(searchResults.getUserName()); return row; }