title: Why is my listview not scrolling smoothly?
body: <p>I am a nood to Android development and i am trying to populate a listview with an image an text parsed from twitter during OnCreate.  I can populate the listview without any problems but the listview scrolls jerky instead of smoothly.  At first i thought it was an emulator issue, but it scolls jerky on my device as well.  What makes it so frustrating is that I am using the viewholder approach that all the tutorials and posts on stackoverflow recommend.  Any help is greatly appreciated.  Here is my code...</p>
  
  <pre><code> public View getView(int position, View convertView, ViewGroup parent) {
      View v = convertView;
      if (v == null) {
          LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
          v = vi.inflate(R.layout.listitem, null);
            ViewHolder holder = new ViewHolder();          
            holder.username = (TextView) v.findViewById(R.id.username);        
            holder.message = (TextView) v.findViewById(R.id.message);
            holder.image = (ImageView) v.findViewById(R.id.avatar);
            v.setTag(holder);
  
      }
  
      Tweet tweet = tweets.get(position);
      if (tweet != null) {
          ViewHolder holder = (ViewHolder)v.getTag();
          holder.username = (TextView) v.findViewById(R.id.username);
          holder.message = (TextView) v.findViewById(R.id.message);
          holder.image = (ImageView) v.findViewById(R.id.avatar);
  
          if (holder.username != null) {
              holder.username.setText(tweet.username);
          }
  
          if(holder.message != null) {
              holder.message.setText(tweet.message);
          }
  
          if(holder.image != null) {
              holder.image.setImageBitmap(getBitmap(tweet.image_url));
  
          }
      }
      return v;
  }
  }
  
  static class ViewHolder {
          TextView username;  
          TextView message;
          ImageView image;
      }
  
  public Bitmap getBitmap(String bitmapUrl) {
      try {
          URL url = new URL(bitmapUrl);
          return BitmapFactory.decodeStream(url.openConnection() .getInputStream()); 
      }
      catch(Exception ex) {return null;}
  }
  </code></pre>