ProgressDialog的

来源:互联网 发布:安卓ppsspp1.2.2优化版 编辑:程序博客网 时间:2024/05/02 15:51

      使用ProgressDialog的时候遇到了一些坑,以下这个写法是正确的,

Private ProgressDialog pd;      pd=new ProgressDialog(this);      pd.setMessage("就是这么帅");      pd.show();     pd.setCancelable(false);  //这个对话框,触摸和返回键都消失作用了.只能通过代码的方式来让对话框进行消失.   pd.setCanceledOnTouchOutside(false);  只禁止了触摸消失对话框的功能,按返回键可以取消.    pd.dismiss();  
  下面即使我的写法
Private ProgressDialog pd;      pd=new ProgressDialog(this);      pd.show(this, null, "度假胜地");  //  pd.setCancelable(false);  //  pd.setCanceledOnTouchOutside(false);      pd.dismiss();  

当然这个写法是错误的,会出现dialog无法消失的情况,原因是pd.show()函数返回void,而pd.show(context, title, message)函数返回ProgressDialog。
意味着:show()并不生成新的ProgressDialog对象,而show(context, title, message)返回一个新的ProgressDialog对象。
则当你调用完pd=new ProgressDialog(this);之后再调用pd==pd.show(。。。);则会生成两个ProgressDialog对象,
而只有一个引用。第一个对象将不会再被引用到,所以不会消失。
                                             
0 0
原创粉丝点击