@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int result = msg.what;
switch (result) {
case MSGUPDATE:
getList();
setViewData();
Utility.alertTip(context, Utility.FRESHENEDSTATUS);
break;
case MSGUPDALOW:
Utility.alertTip(context, Utility.FRESHENEDSTATUS);
break;
case MSGSLEDATE:
changeShowText();
break;
case MSGCHANGEVIEW:
setSelViewData();
break;
}
}
};
private void changeShowText(){
showdate.setText(mYear+"-"+mMouth+"-"+mDay);
final ProgressDialog mydialog1 = ProgressDialog.show(context,
"更新数据", "正在加载...", true);
new Thread() {
public void run() {
try {
getSelDateList();
if(ISReTrueList()){
Message msg = new Message();
msg.what =MSGCHANGEVIEW;
handler.sendMessage(msg);
}
} finally {
mydialog1.dismiss();
}
};
}.start();
}
在使用Handler更新UI时时常报的错大部分是 在子线程run中去更新UI
所以要给Handler一个信号 让它去跟新UI