关于handler的注解 @SuppressLint("HandlerLeak") 的理解和dialogshow不出来

今天早上实现了个show    一个正在加载数据dialog,从最开始的使用自定义,到后面自己写最简单的


dialog2 = ProgressDialog.show(MoreContactsActivity.this, "正在加载数据", "正在加载数据");
dialog2.show();

一直都没有显示出来,这让我非常的郁闷。后面经过几次不断的测试,发现:

    1,把dialog成全局变量的时候,最好先给它赋一个初值null ;

       代码要规范:if(dialog==null){ ...show}


  还有,关于handler的注解,我一般的处理逻辑是:

    1,在自己的处理数据的逻辑中先show一个dialog出来,这要在主线程  然后在子线程去加载数据。

       加载完了,在通过 handler来发送到Handler来处理。 

  逻辑一般都是这样,可今天的handler中

 @SuppressLint("HandlerLeak")
private Handler handler = new Handler() {

  头上有了注解,它好像一直能运行,也就是说,我在处理数据之前show的dialog,在Handler的handleMessage()方法中关闭。

       这样就会show了立马关闭,肉眼根本就无法发现,  所以应该把 关闭的dialog的方法,写在  case 里面。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值