您好,欢迎来到世旅网。
搜索
您的当前位置:首页(转)ProgressDialog调用dismiss()不消失

(转)ProgressDialog调用dismiss()不消失

来源:世旅网


先说两种正确的调用方式:

[java]   
 
[java]   
 
  1.     Private ProgressDialog pd;  
  2.     pd=pd.show(thisnull"咋就这么帅");  
  3. //  pd.setCancelable(false);  
  4. //  pd.setCanceledOnTouchOutside(false);  
  5.     pd.dismiss();  
再说一种错误的方式:

[java]   
 
  1.     ProgressDialog pd;  
  2.     pd=new ProgressDialog(this);  
  3.     pd.show(thisnull"咋就这么帅");  
  4. //  pd.setCancelable(false);  
  5. //  pd.setCanceledOnTouchOutside(false);  
  6.     pd.dismiss();  
此种方式ProgressDialog并不消失,虽然你很确定已经执行dismiss()。

说说原因:pd.show()函数返回void,而pd.show(context, title, message)函数返回ProgressDialog。意味着:show()并不生成新的ProgressDialog对象,而show(context, title, message)返回一个新的ProgressDialog对象。则当你调用完pd=new ProgressDialog(this);之后再调用pd==pd.show(this, null, "咋就这么帅");则会生成两个ProgressDialog对象,而只有一个引用。第一个对象将不会再被引用到,所以不会消失。


因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- esig.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务