title: Android: only the original thread that created a view hierarchy can touch its views when calling invalidate()
body: <p>I'm trying to play a gif using the <code>Movie</code> object and it requires me to call the <code>invalidate()</code> method. However whenever I call this method I get the following error: </p>
  
  <pre><code>android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
  </code></pre>
  
  <p>How do I fix this and why is it happening</p>