title: How to set text of text view in another thread
body: <p>I am tring to setText in another thread, that is, child thread. But for the following code, it is giving the error</p>
  
  <blockquote>
    <p>Only the original thread that created a view hierarchy can touch its views.</p>
  </blockquote>
  
  <p>&nbsp;</p>
  
  <p></p>
  
  <p>&nbsp;</p>
  
  <pre><code>public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      img = (ImageView)findViewById(R.id.img);
      pb = (ProgressBar)findViewById(R.id.pb);
      this.tv = (TextView)findViewById(R.id.perc);
      tv.setText("30 %");
      pb.setProgress(30);
      pb.setMax(100);
  }
  
  public void set(int p)
  {
      tv.setText(p + " %");
  }
  
  protected void onStart()
  {
      super.onStart();
      pb.setProgress(20);
  
      Thread t = new Thread(new Runnable()
      {
          @Override
          public void run()
          {
              try {
                  int i = pb.getProgress();
                  while(i &lt;100)
                  {
                      while(pb.getProgress()&lt;100)
                      {
                          pb.incrementProgressBy(5);
                          Thread.sleep(1000);
                      }
                  i+=10;
                  pb.setProgress(i);
                  Thread.interrupted();
                  set(i);
                  }
              }
              catch (InterruptedException e)
              {
                  e.printStackTrace();
              }
          }
      });
      t.start();
  }
  </code></pre>