title: Android fill ImageView from URL
body: <p>Hi i'm trying to add an image to an ImageView from a URL i have tried loading it as a bitmap but nothing is showing. so does anyone know what the best method to do this is or what i'm doing wrong?</p>
  
  <p>heres my code</p>
  
  <pre><code>@Override
  protected void onCreate(Bundle savedInstanceState) {
      // TODO Auto-generated method stub
      super.onCreate(savedInstanceState);
      //Check Preferences which sets UI
      setContentView(R.layout.singlenews);
        TextView headerText = (TextView) findViewById(R.id.header_text);
         headerText.setText("Latest News");
  
  
       PostTask posttask;
         posttask = new PostTask();
         posttask.execute();
  }
  
  public void loadNews(){
  
      newsStr = getIntent().getStringExtra("singleNews");
  
  
  
  
      try {
          JSONObject obj = new JSONObject(newsStr);
          content = obj.getString("content");
            title = obj.getString("title");
            fullName = obj.getString("fullname");
            created = obj.getString("created");
          NewsImageURL = obj.getString("image_primary");
          tagline = obj.getString("tagline");
  
          meta = "posted by: " + fullName + " " + created;
  
  
          URL aURL = new URL("NewsImageURL");
          URLConnection conn = aURL.openConnection();
          conn.connect();
          InputStream is = conn.getInputStream();
          /* Buffered is always good for a performance plus. */
          BufferedInputStream bis = new BufferedInputStream(is);
          /* Decode url-data to a bitmap. */
           bm = BitmapFactory.decodeStream(bis);
          bis.close();
          is.close();
          /* Apply the Bitmap to the ImageView that will be returned. */
  
  
  
  
  
  
          Log.v("lc", "content=" + content);
          Log.v("lc", "title=" + title);
          Log.v("lc", "fullname=" + fullName);
          Log.v("lc", "created=" + created);
          Log.v("lc", "NewsImage=" + NewsImageURL);
          Log.v("lc", "Meta=" + meta);
          Log.v("lc", "tagline=" + tagline);
  
  
  
  
  
  
  
  } catch 
   (JSONException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
  } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
  }
  
  }
  
  
  
  
  public class PostTask extends AsyncTask&lt;Void, String, Boolean&gt; {
  
      @Override
      protected Boolean doInBackground(Void... params) {
          boolean result = false;
          loadNews();
          publishProgress("progress");
          return result;
      }
  
      protected void onProgressUpdate(String... progress) {
          StringBuilder str = new StringBuilder();
              for (int i = 1; i &lt; progress.length; i++) {
                  str.append(progress[i] + " ");
  
              }
      }
  
          @Override
      protected void onPostExecute(Boolean result) {
          super.onPostExecute(result);
          Log.v("BGThread", "begin fillin data");
  
          fillData();
  
          }
  }
  
  public void fillData(){
  
      NewsView = LayoutInflater.from(getBaseContext()).inflate(R.layout.newsdetailact,
              null);
  
    TextView Title = (TextView) NewsView.findViewById(R.id.NewsTitle);
    Title.setText(title);
  
    TextView Tagline = (TextView) NewsView.findViewById(R.id.subtitle);
    Tagline.setText(tagline);
  
    TextView MetaData = (TextView) NewsView.findViewById(R.id.meta);
    MetaData.setText(meta);
  
  
  
  
       ImageView NewsImage = (ImageView)NewsView.findViewById(R.id.imageView2);
       NewsImage.setImageBitmap(bm);
  
    TextView MainContent = (TextView) NewsView.findViewById(R.id.maintext);
    MainContent.setText(content);
  
  
  
  
  
    Log.v("BGThread", "Filled results");
  
  adapter = new MergeAdapter();
  
  adapter.addView(NewsView);
  
  
  setListAdapter(adapter);
  
  
  }
  
  
  
  }
  </code></pre>