title: How to refresh a url and load a new image
body: <p>I'm trying to use timer to refresh an image from the internet.</p>
  
  <p>This is my code:</p>
  
  <pre><code>public class ProjectActivity extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      BannerActivity ba = new BannerActivity(this);
      LinearLayout layout = (LinearLayout)findViewById(R.id.main_layout);
      layout.addView(ba);
  }
  
  public class BannerActivity extends ImageButton implements OnClickListener{
      URL url = null;
      public BannerActivity(Context context) {
          super(context);
          setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300));
          loadimage();
          Timer timer = new Timer();
          timer.schedule(new TimerTask() {
              public void run() {
                  loadimage();
              }   
              }, 5000, 1000);
      }
  
      private void loadimage(){
          try {
              url = new URL("http://3.bp.blogspot.com/_9UYLMDqrnnE/S4UgSrTt8LI/AAAAAAAADxI/drlWsmQ8HW0/s400/sachin_tendulkar_double_century.jpg");
          } catch (MalformedURLException e) {
              e.printStackTrace();
          }
          InputStream content = null;
          try {
              content = (InputStream)url.getContent();
          } catch (IOException e) {
              e.printStackTrace();
          }
          final Drawable d = Drawable.createFromStream(content , "src"); 
          setBackgroundDrawable(d);
  
          setOnClickListener(this);
      }
  </code></pre>
  
  <p>The error that I'm getting is this: </p>
  
  <pre><code>CalledFromWrongThreadException: Only the original thread that created a view
  hierarchy can touch its views.
  </code></pre>
  
  <p>I'm new to this and not sure what it means or how to fix it.</p>