1、声明
private Handler mHandler; private Runnable mDelayShowDialogRunnable; protected Dialog mProgressDialog; private String message="加载中...";
2、初始化
mHandler = new Handler(); initialProgressDialog();
3、方法调用
public synchronized void showProgressDialog(String msg) { if (TextUtils.isEmpty(msg)){ message="加载中..."; }else { message=msg; } showProgressDialog(); } public synchronized boolean hideProgressDialog() { dismissProgressDialog(); return true; } private void initialProgressDialog() { try{ mDelayShowDialogRunnable = new Runnable() { @Override public void run() { view = LayoutInflater.from(SelectReceiverActivity3.this).inflate(R.layout.dialog_common_loading, null); mProgressDialog = new Dialog(SelectReceiverActivity3.this, R.style.Godinsec_Diglog); mProgressDialog.setContentView(view); mProgressDialog.setCanceledOnTouchOutside(false); tv_Content = view.findViewById(R.id.tv_Content); tv_Content.setText(message); mProgressDialog.show(); } }; }catch (Exception e){ } } protected synchronized void showProgressDialog() { if (null != mProgressDialog && mProgressDialog.isShowing()) { tv_Content.setText(message); return; } dismissProgressDialog(); mHandler.postDelayed(mDelayShowDialogRunnable, 200); } private synchronized void dismissProgressDialog() { mHandler.removeCallbacks(mDelayShowDialogRunnable); if (null != mProgressDialog) { mProgressDialog.dismiss(); mProgressDialog = null; } }