WorkerThread never changes UI, but Main Thread can't execute long time progress.
MyActivity:
package com.hhy.Thread;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import java.io.PrintWriter;
public class MyActivity extends Activity {
private TextView textView;
private Button button;
private ProgressBar progressBar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView = (TextView)findViewById(R.id.textView);
button = (Button)findViewById(R.id.button);
progressBar = (ProgressBar)findViewById(R.id.progressBar);
progressBar.setMax(100);
button.setOnClickListener(new ButtonListener());
}
class ButtonListener implements View.OnClickListener{
@Override
public void onClick(View v) {
Thread t = new MyThread();
t.start();
}
}
class MyThread extends Thread{
@Override
public void run(){
for(int i = 0; i <= 100; i++){
try{
Thread.sleep(100);
}catch(InterruptedException e)
{e.printStackTrace();}
// textView.setText("From Thread.");
progressBar.setProgress(progressBar.getProgress() + 1);
}
}
}
}