查询数据库,在子线程内
主线程更新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. }
//show dialog
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; }