Android加载对话框,异步执行代码的封装类
Android中通过子线程连接网络获取资料,同时显示加载进度对话框给用户的操作,需要Thread和Handler来完成,在Thread中执行比较耗时的代码,完成后再通过Handler发送消息给主线程,由主线程刷新UI。
在实现上比较的烦琐,为简化此方法,花了点时间封装了Thread和Handler,现在通过简单的代码就可以实现相同的功能,而把更多精力放到业务逻辑处理上!
效果如图:
1 LoadingDialog loadingDialog = new LoadingDialog(getActivityGroup(), loadingDialogExecute); 2 // loadingDialog.setIsShowDialog(false); 3 loadingDialog.start(); 4 5 6 LoadingDialogExecute loadingDialogExecute = new LoadingDialogExecute() { 7 8 @Override 9 public void executeSuccess() { 10 // 更新UI操作,如填充ListView 11 listAdapter = new ListAdapter(MsgListActivity.this, wikis); 12 listView.setAdapter(listAdapter); 13 } 14 15 @Override 16 public void executeFailure() { 17 // 异步执行失败或出错时的处理 18 // …… 19 } 20 21 @Override 22 public boolean execute() { 23 // 在这里执行耗时的操作,如连接网络拉取数据 24 try { 25 // …… 26 } catch (Exception e) { 27 e.printStackTrace(); 28 setErrorInfo("出现错误\n" + e.getMessage()); 29 return false; 30 } 31 return true; 32 } 33 };
需要使用以下两个类
下载