title: Android AsyncTask Listview problem
body: <p>I have the below code in my getView. It populates an imageview with an image and it works but not without problems. Problem being that I don't see the image until I click something on the screen. Also if I have more than one image in the listview clicking something on screen will make the images shift around. </p>
  
  <pre><code>                    class Thumbnailer extends AsyncTask&lt;String, Void, Bitmap&gt; {
  
                          @Override
                          protected void onPostExecute(Bitmap result) {
                              image_main.setImageBitmap(result);
                              image_main.setVisibility(View.VISIBLE);
                              image_table.setVisibility(View.VISIBLE);
                          }
                          @Override
                           protected void onProgressUpdate(Void... progress) {
                           }
  
                          @Override
                          protected Bitmap doInBackground(String... params) {
                               BitmapFactory.Options o = new BitmapFactory.Options();
                               o.inJustDecodeBounds = true;
                               BitmapFactory.decodeFile(params[0], o);
                               final int REQUIRED_SIZE=70;
  
                               //Find the correct scale value. It should be the power of 2.
                               int width_tmp=o.outWidth, height_tmp=o.outHeight;
                               int scale=1;
                               while(true){
                                   if(width_tmp/2&lt;REQUIRED_SIZE || height_tmp/2&lt;REQUIRED_SIZE)
                                       break;
                                   width_tmp/=2;
                                   height_tmp/=2;
                                   scale++;
                               }
                               //Decode with inSampleSize
                               BitmapFactory.Options o2 = new BitmapFactory.Options();
                               o2.inSampleSize=scale;                                  
                               return BitmapFactory.decodeFile(params[0], o2);
                          }
                      } 
                      new Thumbnailer().execute(image);
  </code></pre>