自定义ProgressDialog显示和隐藏

来源:互联网 发布:雷云网络不可用 编辑:程序博客网 时间:2024/05/16 11:09


在做安卓项目的过程中发现,有时候网络太慢导致ProgressDialog一直显示,无法退出,按返回键也没有作用,只能在后台退出程序。于是,我决定对ProgressDialog的显示和消失进行改进。下面是有关的方法:

public void displayProgressDialog() {this.displayProgressDialog("正在发送请求。。。");}public void displayProgressDialog(String msg) {if (mProgressDialog ==null) {mProgressDialog = ProgressDialog.show(ActivityA.this, "", msg, true);mProgressDialog.setCanceledOnTouchOutside(false);mProgressDialog.setCancelable(false);} else {mProgressDialog.show();}mProgressDialog.setOnKeyListener(onKeyListener);}     //add a keylistener for progress dialogprivate OnKeyListener onKeyListener = new OnKeyListener() {@Overridepublic boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {dismissProgressDialog();            }returnfalse;}};public void dismissProgressDialog() {if (mProgressDialog !=null &&mProgressDialog.isShowing()) {mProgressDialog.dismiss();mProgressDialog =null;}} @Override    public void onBackPressed() {        if (mProgressDialog !=null && mProgressDialog.isShowing()) {        dismissProgressDialog();        } else {            super.onBackPressed();        }    }



0 0
原创粉丝点击