public class TestActivity extends Activity {
Button btn;
ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.handler_msg);
btn = (Button) findViewById(R.id.button);
progressBar = (ProgressBar) findViewById(R.id.progressBar1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
progressBar.setVisibility(View.VISIBLE);
new Thread(new Runnable() {
// 开启一个线程处理逻辑,然后在线程中在开启一个UI线程,当子线程中的逻辑完成之后,
// 就会执行UI线程中的操作,将结果反馈到UI界面。
@Override
public void run() {
// 模拟耗时的操作,在子线程中进行。
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 更新主线程UI,跑在主线程。
TestActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
progressBar.setVisibility(View.GONE);
btn.setText("更新完毕!");
}
});
}
}).start();
}
});
}
}
多线程Activaty
最新推荐文章于 2021-01-27 20:59:05 发布