版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Leo_eight/article/details/50044927
最近做项目有用到Dialog, 当加载数据时, 就启动. 因为数据没加载完, 限制用户的操作, 把Dialog设置成不能取消:
<span style="color:#33cc00;"><span style="font-size:18px;">dialog.setCancelable(false);</span> </span>
但加载过久会影响用户体验, 就想了个自动取消Dialog的方法: 用Handler延时取消:
<span style="font-size:18px;color:#33cc00;">public static void closeDialog(long closetime, final Dialog dialog){
new Handler(){
<span style="white-space:pre"> </span>@Override
public void handleMessage(Message msg) {
<span style="white-space:pre"> </span>if(dialog.isShowing()){
dialog.dismiss();
}
};
}.sendEmptyMessageDelayed(0, closetime);
}</span>
<span style="font-size:18px;color:#33cc00;">closeDialog(5000, mdialog);</span>