子线程查询数据库 父线程更新UI,dialog在主线程内
使用progressdialog交互
查询数据库,在子线程内
主线程更新UI界面
final Runnable mUpdateUI = new Runnable() {
public void run() {
//update UI
}
};
//check wifi
Boolean isNetwork = Utility
.isNetworkAvailable(InventoryCountConfirm_ListActivity.this);
showWaitDialogNoTitle(getString(R.string.MSG_I_0004));
if (isNetwork) {
new Thread(new Runnable() {
public void run() {
//acess sql get data
uiHandler.post(mUpdateUI); // call updateUI thread
closeCurrentDialog();
}
}).start();
} else {
//do sth. }//showdialog
public AlertDialog showWaitDialogNoTitle(String msg) {
if (currentDialog != null && currentDialog.isShowing()) {
currentDialog.cancel();
}
currentDialog = new ProgressDialog(this);
currentDialog.setMessage(msg);
((ProgressDialog) currentDialog)
.setProgressStyle(ProgressDialog.STYLE_SPINNER);
currentDialog.setCancelable(false);
currentDialog.show();
return currentDialog;
} 相关推荐
lbyd0 2020-11-17
腾讯soso团队 2020-11-06
yangkang 2020-11-09
KANSYOUKYOU 2020-11-16
wushengyong 2020-10-28
Apsaravod 2020-11-05
PeterChangyb 2020-11-05
gyunwh 2020-11-02