Я научился что-то делать в UI-Thread, поэтому я написал простую тестовую активность. Но я думаю, что я что-то не понял, потому что когда я нажимаю кнопку - приложение больше не переписывается
public class TestActivity extends Activity {
 Button btn;
 int i = 0;
 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     btn = (Button)findViewById(R.id.btn);
     btn.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
             runThread();
         }
     });
 }
 private void runThread(){
     runOnUiThread (new Thread(new Runnable() { 
         public void run() {
             while(i++ < 1000){
                 btn.setText("#"+i);
                 try {
                     Thread.sleep(300);
                 } 
                 catch (InterruptedException e) {
                     e.printStackTrace();
                 }
             }
         }
     }));
}
}
