80,362
社区成员
发帖
与我相关
我的任务
分享
case R.id.btn5:
//为什么这里 不需要handler呢
Log.i("ThreadTest", Thread.currentThread().getName());
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setIcon(R.drawable.icon);
progressDialog.setMax(100);
progressDialog.setTitle("loading");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//progressDialog.setSecondaryProgress(100);
progressDialog.show();
//又开了一个子线程
new Thread(){
public void run() {
int progress =0;
while(progress++<=100){
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
progressDialog.incrementProgressBy(1);
progressDialog.incrementSecondaryProgressBy(2);
}
Log.i("ThreadTest", Thread.currentThread().getName());
progressDialog.dismiss();
//textView.setText("xiazai wan bi");
};
}.start();
break;
private synchronized void refreshProgress(int id, int progress, boolean fromUser) {
if (mUiThreadId == Thread.currentThread().getId()) {
doRefreshProgress(id, progress, fromUser);
} else {
RefreshProgressRunnable r;
if (mRefreshProgressRunnable != null) {
// Use cached RefreshProgressRunnable if available
r = mRefreshProgressRunnable;
// Uncache it
mRefreshProgressRunnable = null;
r.setup(id, progress, fromUser);
} else {
// Make a new one
r = new RefreshProgressRunnable(id, progress, fromUser);
}
post(r);
}
}